# Render template preview for subject

Render the template and return as a JSON response.
It selects an appropriate Template Descriptor (matching `subject`, `channel`), and
renders the active Template Version with the given `context`.
The three contents are returned in a single JSON response, they are `contentHtml`,
`contentText` and `subjectLine`.
NOTE: This is different from the `/render` endpoints because it does not
return a *file* but rather the simple text-respresentation of the rendered
templates that would be used in rendering a file. It is generally easier
to test and debug the rendered templates as JSON strings rather than, for
instance a PDF file.

Endpoint: POST /communicator/preview
Version: 2025-03-26
Security: oauth2, bearerAuth, apiKeyHeader

## Request fields (application/json):

  - `caseId` (string)

  - `channel` (string, required)
    The channel where interactions with a borrower occur. For example, an
outbound call with a borrower is considered a `voice` interaction.
**DEPRECATED**: The `fax` channel is deprecated: new interactions
cannot be created with the `fax` channel. It will be removed
from completely in the future.
    Enum: "voice", "email", "fax", "text", "chat", "mail", "gui", "document"

  - `context` (object)

  - `loanId` (string)

  - `overrideTemplateId` (string)
    The template version ID (like `TV-AAAA-BBBB`) *or* template descriptor ID (like `TD-AAAA-BBBB`)
to use.
If a template descriptor is given, then the current template descriptor's `activeVersionId` is
used.
This should be used in special cases where you do not want to use the implicit template selected
by the `subject` and `channel` fields.
    Example: TV-AAAA-BBBB

  - `personId` (string, required)

  - `subject` (string, required)
    The subject of the interaction. The subject identifies the category of the content
in the message.
Most subjects have an associated implicit theme. e.g., `loanOverdueFirstNotice` has
a theme of `opsCollDebt`. For these subjects it is not necessary to specify a theme.
Some subjects like `freeForm` and `custom<N>` do not have an implicit theme. When
using these subjects you must specify a `theme`.
**DEPRECATED**: `locStatementGenerated` and `locStatementRegenerated` are deprecated.
They will be automatically converted into `statementGenerated` and `statementRegenerated`
respectively. You should switch to use those subjects directly.
**DEPRECATED**: `failedSettlementPeach` is deprecated. This was always a subject used by
the Peach application internally, and will no longer be used. Attempts to set this
subject will be rejected with a 400 error.
    Enum: "annualPrivacyPolicyNotice", "autopayAgreement", "autopayAmountChanged", "autopayCanceledBySystem", "autopayEnabled", "autopayEnableReminder", "autopayPaymentCanceled", "autopayPaymentMethodUpdated", "autopayPaymentReminder", "autopayPaymentRescheduled", "cardExpiresReminder", "caseEscalation", "ceaseCommunicationAcknowledgement", "ceaseCommunicationRefuseToPay", "confirmationCode", "contactTakeover", "creditNegativeInfoReported", "creditPositiveInfoReported", "custom1", "custom2", "custom3", "custom4", "custom5", "custom6", "custom7", "custom8", "custom9", "custom10", "custom11", "custom12", "custom13", "custom14", "custom15", "custom16", "custom17", "custom18", "custom19", "custom20", "custom21", "custom22", "custom23", "custom24", "custom25", "custom26", "custom27", "custom28", "custom29", "custom30", "custom31", "custom32", "custom33", "custom34", "custom35", "custom36", "custom37", "custom38", "custom39", "custom40", "custom41", "custom42", "custom43", "custom44", "custom45", "custom46", "custom47", "custom48", "custom49", "custom50", "custom51", "custom52", "custom53", "custom54", "custom55", "custom56", "custom57", "custom58", "custom59", "custom60", "custom61", "custom62", "custom63", "custom64", "custom65", "custom66", "custom67", "custom68", "custom69", "custom70", "custom71", "custom72", "custom73", "custom74", "custom75", "custom76", "custom77", "custom78", "custom79", "custom80", "custom81", "custom82", "custom83", "custom84", "custom85", "custom86", "custom87", "custom88", "custom89", "custom90", "custom91", "custom92", "custom93", "custom94", "custom95", "custom96", "custom97", "custom98", "custom99", "custom100", "debtValidationNotice", "debtValidationNoticeArizona", "debtValidationNoticeAutomatic", "debtValidationNoticeNYCYonkers", "debtValidationNoticePuertoRico", "deceasedConfirmationOfPayoff", "deceasedNoticeToRepresentative", "deceasedNotificationUponDeath", "disputeOfDebtConfirmed", "disputeOfDebtSubmitDocumentation", "disputeOfDebtSubmitDocumentationReminder", "disputeOfDebtUnableToConfirm", "disputeOfDebtUnableToResolve", "documentUploadFailed", "downpaymentFailed", "drawFundsDisclosure", "electronicConsentOptOut", "failedSettlementInvestor", "failedSettlementPeach", "freeForm", "freeFormBranded", "futurepayCanceled", "futurepayPaymentDueReminder", "identityTheftIncompleteDocumentation", "identityTheftNotValidated", "identityTheftSubmitDocumentation", "identityTheftSubmitDocumentationFirstReminder", "identityTheftSubmitDocumentationSecondReminder", "identityTheftValidated", "letterReturnedToSender", "loanAccelerated", "loanCanceled", "loanChargedOffUnsecured", "loanDetails", "loanFeeCharged", "loanFreeze", "loanManualPaymentDisclosure", "loanOverdueFifthNotice", "loanOverdueFirstNotice", "loanOverdueFourthNotice", "loanOverdueSecondNotice", "loanOverdueSixthNotice", "loanOverdueThirdNotice", "loanPaidOff", "loanPaymentScheduleChanged", "loanPayoffStatement", "loanRefundProcessed", "loanRightToCurePersonalUnsecured", "loanRightToCurePersonalUnsecuredColorado", "loanRightToCurePersonalUnsecuredDC", "loanRightToCurePersonalUnsecuredIowa", "loanRightToCurePersonalUnsecuredKansas", "loanRightToCurePersonalUnsecuredMaine", "loanRightToCurePersonalUnsecuredMissouri", "loanRightToCurePersonalUnsecuredSouthCarolina", "loanRightToCurePersonalUnsecuredWestVirginia", "loanRightToCurePersonalUnsecuredWisconsin", "loanTermsChangeAgreement", "loanUnfreeze", "locCreditLimitChanged", "locInterestRateChanged", "locLineClosed", "locStatementGenerated", "locStatementRegenerated", "loginFirstPaymentReminder", "microdepositFailed", "microdepositProcessing", "microdepositReminder", "oneTimeCode", "paydayConsumerRightsNotice", "paydayFirstPaymentWithdrawal", "paymentDisputed", "paymentDueDateReminder", "paymentFailed", "paymentMethodAdded", "paymentMethodUpdated", "paymentProcessing", "paymentRescheduled", "paymentReversalFailed", "paymentReversalProcessing", "paymentSuccessful", "payoffStatementDocument", "promiseToPayPeriodKept", "promiseToPayPeriodMissed", "promiseToPayPlanCanceled", "promiseToPayPlanCreated", "promoProgramCanceled", "promoProgramEligibilityAtRisk", "promoProgramExercised", "promoProgramReminder", "reimbursementFailed", "reimbursementProcessed", "reimbursementScheduled", "scraApplicationDenied", "scraBenefitsApplied", "scraBenefitsExpiringNotice", "scraCGFlaggedDocumentRequest", "scraServicemanNotifiedDocumentRequest", "settlementOffer", "settlementOfferFirstReminder", "statement", "statementLOC", "statementGenerated", "statementRegenerated", "unmonitoredEmailAddress", "updateBankAccountConnection"

## Response 200 fields (application/json):

  - `contentHtml` (string)

  - `contentText` (string)

  - `subjectLine` (string)

