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

# IDocumentService

`IDocumentService` declares a service contract in the Policies / Certificates / Document 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 / Document area*.

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

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `GetCertificateDocumentStream` | `Stream GetCertificateDocumentStream(Certificate certificate, Boolean isPolicyholderCopy = false)` | Returns certificate document stream, given `certificate`, `isPolicyholderCopy`*. |
| `GetSummaryReportStream` | `Stream GetSummaryReportStream(IList<Certificate> certificates, Boolean isRenewalReport)` | Returns summary report stream, given `certificates`, `isRenewalReport`*. |
| `GetCertificateBatchReportXml` | `XDocument GetCertificateBatchReportXml(CertificateBatchPrintArguments arguments,
                                       IList<Certificate> certsReadyToPrint)` | Returns certificate batch report xml*. |

> **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/Document/IDocumentService.cs
