/** * Generated by orval v7.21.0 🍺 * Do not edit manually. * certctl API * Certificate lifecycle management platform API. Manages certificates, issuers, deployment targets, agents, jobs, policies, profiles, teams, owners, agent groups, audit events, notifications, and observability metrics. All endpoints under `/api/v1/` require authentication by default (configurable via `CERTCTL_AUTH_TYPE`). Use `Bearer {api_key}` in the Authorization header. Paginated list endpoints accept `page` (default 1) and `per_page` (default 50, max 500) query parameters and return a standard envelope with `data`, `total`, `page`, and `per_page`. * OpenAPI spec version: 2.1.7 */ import { useMutation, useQuery } from '@tanstack/react-query'; import type { DataTag, DefinedInitialDataOptions, DefinedUseQueryResult, MutationFunction, QueryClient, QueryFunction, QueryKey, UndefinedInitialDataOptions, UseMutationOptions, UseMutationResult, UseQueryOptions, UseQueryResult } from '@tanstack/react-query'; import type { BadRequestResponse, ClaimDiscoveredCertificateBody, DiscoveredCertificate, DiscoveryReport, DiscoveryScan, GetDiscoverySummary200, InternalErrorResponse, ListDiscoveredCertificates200, ListDiscoveredCertificatesParams, ListDiscoveryScans200, ListDiscoveryScansParams, NotFoundResponse, StatusMessageResponse } from '.././model'; import { certctlFetch } from '../../mutator'; /** * Agent submits a batch of discovered certificates from filesystem scanning. Server deduplicates by (fingerprint, agent_id, source_path) and records scan metadata. * @summary Submit discovery report */ export const submitDiscoveryReport = ( id: string, discoveryReport: DiscoveryReport, signal?: AbortSignal ) => { return certctlFetch( {url: `/api/v1/agents/${id}/discoveries`, method: 'POST', headers: {'Content-Type': 'application/json', }, data: discoveryReport, signal }, ); } export const getSubmitDiscoveryReportMutationOptions = (options?: { mutation?:UseMutationOptions>, TError,{id: string;data: DiscoveryReport}, TContext>, } ): UseMutationOptions>, TError,{id: string;data: DiscoveryReport}, TContext> => { const mutationKey = ['submitDiscoveryReport']; const {mutation: mutationOptions} = options ? options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ? options : {...options, mutation: {...options.mutation, mutationKey}} : {mutation: { mutationKey, }}; const mutationFn: MutationFunction>, {id: string;data: DiscoveryReport}> = (props) => { const {id,data} = props ?? {}; return submitDiscoveryReport(id,data,) } return { mutationFn, ...mutationOptions }} export type SubmitDiscoveryReportMutationResult = NonNullable>> export type SubmitDiscoveryReportMutationBody = DiscoveryReport export type SubmitDiscoveryReportMutationError = BadRequestResponse | InternalErrorResponse /** * @summary Submit discovery report */ export const useSubmitDiscoveryReport = (options?: { mutation?:UseMutationOptions>, TError,{id: string;data: DiscoveryReport}, TContext>, } , queryClient?: QueryClient): UseMutationResult< Awaited>, TError, {id: string;data: DiscoveryReport}, TContext > => { const mutationOptions = getSubmitDiscoveryReportMutationOptions(options); return useMutation(mutationOptions, queryClient); } /** * Returns discovered certificates with optional filters by agent and triage status. * @summary List discovered certificates */ export const listDiscoveredCertificates = ( params?: ListDiscoveredCertificatesParams, signal?: AbortSignal ) => { return certctlFetch( {url: `/api/v1/discovered-certificates`, method: 'GET', params, signal }, ); } export const getListDiscoveredCertificatesQueryKey = (params?: ListDiscoveredCertificatesParams,) => { return [ `/api/v1/discovered-certificates`, ...(params ? [params]: []) ] as const; } export const getListDiscoveredCertificatesQueryOptions = >, TError = InternalErrorResponse>(params?: ListDiscoveredCertificatesParams, options?: { query?:Partial>, TError, TData>>, } ) => { const {query: queryOptions} = options ?? {}; const queryKey = queryOptions?.queryKey ?? getListDiscoveredCertificatesQueryKey(params); const queryFn: QueryFunction>> = ({ signal }) => listDiscoveredCertificates(params, signal); return { queryKey, queryFn, ...queryOptions} as UseQueryOptions>, TError, TData> & { queryKey: DataTag } } export type ListDiscoveredCertificatesQueryResult = NonNullable>> export type ListDiscoveredCertificatesQueryError = InternalErrorResponse export function useListDiscoveredCertificates>, TError = InternalErrorResponse>( params: undefined | ListDiscoveredCertificatesParams, options: { query:Partial>, TError, TData>> & Pick< DefinedInitialDataOptions< Awaited>, TError, Awaited> > , 'initialData' >, } , queryClient?: QueryClient ): DefinedUseQueryResult & { queryKey: DataTag } export function useListDiscoveredCertificates>, TError = InternalErrorResponse>( params?: ListDiscoveredCertificatesParams, options?: { query?:Partial>, TError, TData>> & Pick< UndefinedInitialDataOptions< Awaited>, TError, Awaited> > , 'initialData' >, } , queryClient?: QueryClient ): UseQueryResult & { queryKey: DataTag } export function useListDiscoveredCertificates>, TError = InternalErrorResponse>( params?: ListDiscoveredCertificatesParams, options?: { query?:Partial>, TError, TData>>, } , queryClient?: QueryClient ): UseQueryResult & { queryKey: DataTag } /** * @summary List discovered certificates */ export function useListDiscoveredCertificates>, TError = InternalErrorResponse>( params?: ListDiscoveredCertificatesParams, options?: { query?:Partial>, TError, TData>>, } , queryClient?: QueryClient ): UseQueryResult & { queryKey: DataTag } { const queryOptions = getListDiscoveredCertificatesQueryOptions(params,options) const query = useQuery(queryOptions, queryClient) as UseQueryResult & { queryKey: DataTag }; query.queryKey = queryOptions.queryKey ; return query; } /** * Returns a single discovered certificate by ID. * @summary Get discovered certificate */ export const getDiscoveredCertificate = ( id: string, signal?: AbortSignal ) => { return certctlFetch( {url: `/api/v1/discovered-certificates/${id}`, method: 'GET', signal }, ); } export const getGetDiscoveredCertificateQueryKey = (id?: string,) => { return [ `/api/v1/discovered-certificates/${id}` ] as const; } export const getGetDiscoveredCertificateQueryOptions = >, TError = NotFoundResponse | InternalErrorResponse>(id: string, options?: { query?:Partial>, TError, TData>>, } ) => { const {query: queryOptions} = options ?? {}; const queryKey = queryOptions?.queryKey ?? getGetDiscoveredCertificateQueryKey(id); const queryFn: QueryFunction>> = ({ signal }) => getDiscoveredCertificate(id, signal); return { queryKey, queryFn, enabled: !!(id), ...queryOptions} as UseQueryOptions>, TError, TData> & { queryKey: DataTag } } export type GetDiscoveredCertificateQueryResult = NonNullable>> export type GetDiscoveredCertificateQueryError = NotFoundResponse | InternalErrorResponse export function useGetDiscoveredCertificate>, TError = NotFoundResponse | InternalErrorResponse>( id: string, options: { query:Partial>, TError, TData>> & Pick< DefinedInitialDataOptions< Awaited>, TError, Awaited> > , 'initialData' >, } , queryClient?: QueryClient ): DefinedUseQueryResult & { queryKey: DataTag } export function useGetDiscoveredCertificate>, TError = NotFoundResponse | InternalErrorResponse>( id: string, options?: { query?:Partial>, TError, TData>> & Pick< UndefinedInitialDataOptions< Awaited>, TError, Awaited> > , 'initialData' >, } , queryClient?: QueryClient ): UseQueryResult & { queryKey: DataTag } export function useGetDiscoveredCertificate>, TError = NotFoundResponse | InternalErrorResponse>( id: string, options?: { query?:Partial>, TError, TData>>, } , queryClient?: QueryClient ): UseQueryResult & { queryKey: DataTag } /** * @summary Get discovered certificate */ export function useGetDiscoveredCertificate>, TError = NotFoundResponse | InternalErrorResponse>( id: string, options?: { query?:Partial>, TError, TData>>, } , queryClient?: QueryClient ): UseQueryResult & { queryKey: DataTag } { const queryOptions = getGetDiscoveredCertificateQueryOptions(id,options) const query = useQuery(queryOptions, queryClient) as UseQueryResult & { queryKey: DataTag }; query.queryKey = queryOptions.queryKey ; return query; } /** * Links a discovered certificate to an existing managed certificate. Changes status to Managed. * @summary Claim discovered certificate */ export const claimDiscoveredCertificate = ( id: string, claimDiscoveredCertificateBody: ClaimDiscoveredCertificateBody, signal?: AbortSignal ) => { return certctlFetch( {url: `/api/v1/discovered-certificates/${id}/claim`, method: 'POST', headers: {'Content-Type': 'application/json', }, data: claimDiscoveredCertificateBody, signal }, ); } export const getClaimDiscoveredCertificateMutationOptions = (options?: { mutation?:UseMutationOptions>, TError,{id: string;data: ClaimDiscoveredCertificateBody}, TContext>, } ): UseMutationOptions>, TError,{id: string;data: ClaimDiscoveredCertificateBody}, TContext> => { const mutationKey = ['claimDiscoveredCertificate']; const {mutation: mutationOptions} = options ? options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ? options : {...options, mutation: {...options.mutation, mutationKey}} : {mutation: { mutationKey, }}; const mutationFn: MutationFunction>, {id: string;data: ClaimDiscoveredCertificateBody}> = (props) => { const {id,data} = props ?? {}; return claimDiscoveredCertificate(id,data,) } return { mutationFn, ...mutationOptions }} export type ClaimDiscoveredCertificateMutationResult = NonNullable>> export type ClaimDiscoveredCertificateMutationBody = ClaimDiscoveredCertificateBody export type ClaimDiscoveredCertificateMutationError = BadRequestResponse | NotFoundResponse | InternalErrorResponse /** * @summary Claim discovered certificate */ export const useClaimDiscoveredCertificate = (options?: { mutation?:UseMutationOptions>, TError,{id: string;data: ClaimDiscoveredCertificateBody}, TContext>, } , queryClient?: QueryClient): UseMutationResult< Awaited>, TError, {id: string;data: ClaimDiscoveredCertificateBody}, TContext > => { const mutationOptions = getClaimDiscoveredCertificateMutationOptions(options); return useMutation(mutationOptions, queryClient); } /** * Marks a discovered certificate as dismissed (excluded from triage queue). * @summary Dismiss discovered certificate */ export const dismissDiscoveredCertificate = ( id: string, signal?: AbortSignal ) => { return certctlFetch( {url: `/api/v1/discovered-certificates/${id}/dismiss`, method: 'POST', signal }, ); } export const getDismissDiscoveredCertificateMutationOptions = (options?: { mutation?:UseMutationOptions>, TError,{id: string}, TContext>, } ): UseMutationOptions>, TError,{id: string}, TContext> => { const mutationKey = ['dismissDiscoveredCertificate']; const {mutation: mutationOptions} = options ? options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ? options : {...options, mutation: {...options.mutation, mutationKey}} : {mutation: { mutationKey, }}; const mutationFn: MutationFunction>, {id: string}> = (props) => { const {id} = props ?? {}; return dismissDiscoveredCertificate(id,) } return { mutationFn, ...mutationOptions }} export type DismissDiscoveredCertificateMutationResult = NonNullable>> export type DismissDiscoveredCertificateMutationError = NotFoundResponse | InternalErrorResponse /** * @summary Dismiss discovered certificate */ export const useDismissDiscoveredCertificate = (options?: { mutation?:UseMutationOptions>, TError,{id: string}, TContext>, } , queryClient?: QueryClient): UseMutationResult< Awaited>, TError, {id: string}, TContext > => { const mutationOptions = getDismissDiscoveredCertificateMutationOptions(options); return useMutation(mutationOptions, queryClient); } /** * Returns history of discovery scan executions with optional agent filter. * @summary List discovery scans */ export const listDiscoveryScans = ( params?: ListDiscoveryScansParams, signal?: AbortSignal ) => { return certctlFetch( {url: `/api/v1/discovery-scans`, method: 'GET', params, signal }, ); } export const getListDiscoveryScansQueryKey = (params?: ListDiscoveryScansParams,) => { return [ `/api/v1/discovery-scans`, ...(params ? [params]: []) ] as const; } export const getListDiscoveryScansQueryOptions = >, TError = InternalErrorResponse>(params?: ListDiscoveryScansParams, options?: { query?:Partial>, TError, TData>>, } ) => { const {query: queryOptions} = options ?? {}; const queryKey = queryOptions?.queryKey ?? getListDiscoveryScansQueryKey(params); const queryFn: QueryFunction>> = ({ signal }) => listDiscoveryScans(params, signal); return { queryKey, queryFn, ...queryOptions} as UseQueryOptions>, TError, TData> & { queryKey: DataTag } } export type ListDiscoveryScansQueryResult = NonNullable>> export type ListDiscoveryScansQueryError = InternalErrorResponse export function useListDiscoveryScans>, TError = InternalErrorResponse>( params: undefined | ListDiscoveryScansParams, options: { query:Partial>, TError, TData>> & Pick< DefinedInitialDataOptions< Awaited>, TError, Awaited> > , 'initialData' >, } , queryClient?: QueryClient ): DefinedUseQueryResult & { queryKey: DataTag } export function useListDiscoveryScans>, TError = InternalErrorResponse>( params?: ListDiscoveryScansParams, options?: { query?:Partial>, TError, TData>> & Pick< UndefinedInitialDataOptions< Awaited>, TError, Awaited> > , 'initialData' >, } , queryClient?: QueryClient ): UseQueryResult & { queryKey: DataTag } export function useListDiscoveryScans>, TError = InternalErrorResponse>( params?: ListDiscoveryScansParams, options?: { query?:Partial>, TError, TData>>, } , queryClient?: QueryClient ): UseQueryResult & { queryKey: DataTag } /** * @summary List discovery scans */ export function useListDiscoveryScans>, TError = InternalErrorResponse>( params?: ListDiscoveryScansParams, options?: { query?:Partial>, TError, TData>>, } , queryClient?: QueryClient ): UseQueryResult & { queryKey: DataTag } { const queryOptions = getListDiscoveryScansQueryOptions(params,options) const query = useQuery(queryOptions, queryClient) as UseQueryResult & { queryKey: DataTag }; query.queryKey = queryOptions.queryKey ; return query; } /** * Returns aggregate counts of discovered certificates by triage status. * @summary Discovery status summary */ export const getDiscoverySummary = ( signal?: AbortSignal ) => { return certctlFetch( {url: `/api/v1/discovery-summary`, method: 'GET', signal }, ); } export const getGetDiscoverySummaryQueryKey = () => { return [ `/api/v1/discovery-summary` ] as const; } export const getGetDiscoverySummaryQueryOptions = >, TError = InternalErrorResponse>( options?: { query?:Partial>, TError, TData>>, } ) => { const {query: queryOptions} = options ?? {}; const queryKey = queryOptions?.queryKey ?? getGetDiscoverySummaryQueryKey(); const queryFn: QueryFunction>> = ({ signal }) => getDiscoverySummary(signal); return { queryKey, queryFn, ...queryOptions} as UseQueryOptions>, TError, TData> & { queryKey: DataTag } } export type GetDiscoverySummaryQueryResult = NonNullable>> export type GetDiscoverySummaryQueryError = InternalErrorResponse export function useGetDiscoverySummary>, TError = InternalErrorResponse>( options: { query:Partial>, TError, TData>> & Pick< DefinedInitialDataOptions< Awaited>, TError, Awaited> > , 'initialData' >, } , queryClient?: QueryClient ): DefinedUseQueryResult & { queryKey: DataTag } export function useGetDiscoverySummary>, TError = InternalErrorResponse>( options?: { query?:Partial>, TError, TData>> & Pick< UndefinedInitialDataOptions< Awaited>, TError, Awaited> > , 'initialData' >, } , queryClient?: QueryClient ): UseQueryResult & { queryKey: DataTag } export function useGetDiscoverySummary>, TError = InternalErrorResponse>( options?: { query?:Partial>, TError, TData>>, } , queryClient?: QueryClient ): UseQueryResult & { queryKey: DataTag } /** * @summary Discovery status summary */ export function useGetDiscoverySummary>, TError = InternalErrorResponse>( options?: { query?:Partial>, TError, TData>>, } , queryClient?: QueryClient ): UseQueryResult & { queryKey: DataTag } { const queryOptions = getGetDiscoverySummaryQueryOptions(options) const query = useQuery(queryOptions, queryClient) as UseQueryResult & { queryKey: DataTag }; query.queryKey = queryOptions.queryKey ; return query; }