---
title: ICertificateService
summary: API reference for ICertificateService.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-09-24
library: SAIF.SAIFCode.Core
reference_type: package
---

# ICertificateService

`ICertificateService` declares a service contract in the Policies / Certificates area, implemented outside this library (most likely in SAIF.Services, per the declare-here, enforce-elsewhere pattern documented for this library)*.

## Purpose
- Declares the operations that a SAIF.Services implementation must provide for the Policies / Certificates area*.

## Context
- Namespace: `SAIF.Core.Contracts.Policies.Certificates`
- Kind: Interface
- Assembly/package: `SAIF.Core` (NuGet package `SAIF.SAIFCode.Core`)

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `ImageNotFoundError` | `string ImageNotFoundError { get; set; }` | Represents the image not found error associated with this ICertificateService*. |
| `GetCertificate` | `Certificate GetCertificate(long certificateId)` | Returns certificate, given `certificateId`*. |
| `GetCertificatesReadyForBatchDistribution` | `IEnumerable<Certificate> GetCertificatesReadyForBatchDistribution()` | Returns certificates ready for batch distribution*. |
| `EditCertificate` | `void EditCertificate(long certificateId, CertificateEdit certificateEdit, DistributionOptions distributionOptions)` | Handles edit certificate, given `certificateId`, `certificateEdit`, `distributionOptions`*. |
| `RenewCertificate` | `long RenewCertificate(long certificateId, CertificateEdit certificateEdit, PeriodBase renewalPeriod, DistributionOptions distributionOptions)` | Handles renew certificate, given `certificateId`, `certificateEdit`, `renewalPeriod`, `distributionOptions`*. |
| `PreviewCertificate` | `Stream PreviewCertificate(long certificateId)` | Handles preview certificate, given `certificateId`*. |
| `GetEditableCertificates` | `IEnumerable<Certificate> GetEditableCertificates(long policyNumber)` | Returns editable certificates, given `policyNumber`*. |

> **Note:** Statements marked with `*` were inferred from code structure, naming
> conventions, or contextual evidence where direct confirmation was not available
> in source artifacts. Statements marked with `**` could not be confirmed; treat
> as unknown until verified.

## Sources
- Core/SAIF.Core/Contracts/Policies/Certificates/ICertificateService.cs
