> ## Documentation Index
> Fetch the complete documentation index at: https://docs.flowpayroll.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Preview an organisation's wording for one email

> The wording that would be sent, filled with sample values (Jane Doe, Acme Ltd). Send an unsaved draft in the same shape as a change to preview it over what is saved, or no body to preview what is saved. Nothing is saved or sent. API tokens cannot change or preview an organisation's emails (403 `email_settings_need_a_person`).



## OpenAPI

````yaml /api-reference/specs/notification.json post /organisations/{organisationId}/email-settings/{eventType}/previews
openapi: 3.0.1
info:
  title: Email wording API
  description: >-
    The wording of the emails we send for you: payslips, P45s, P60s, pension
    enrolment letters, report-ready and webhook alerts, and, for your whole
    account, the sign-in emails. Set it once for your account, or for one
    organisation; each field falls back on its own to the account's, then the
    standard wording. Report-ready and webhook alerts can be switched off.
    Preview the real email, and go back to any saved version. Your brand,
    statutory content and links always stay.
  version: v1
servers:
  - url: https://api.sandbox.flowpayroll.ai/v1/notification-settings
security:
  - X-Auth-Token: []
paths:
  /organisations/{organisationId}/email-settings/{eventType}/previews:
    post:
      tags:
        - Organisation emails
      summary: Preview an organisation's wording for one email
      description: >-
        The wording that would be sent, filled with sample values (Jane Doe,
        Acme Ltd). Send an unsaved draft in the same shape as a change to
        preview it over what is saved, or no body to preview what is saved.
        Nothing is saved or sent. API tokens cannot change or preview an
        organisation's emails (403 `email_settings_need_a_person`).
      operationId: PreviewOrganisationEmailSetting
      parameters:
        - name: organisationId
          in: path
          required: true
          schema:
            type: string
          description: >-
            The organisation to act on. It must be the one selected with
            `X-Org-Id`: a request naming two different organisations is refused
            with 403.
        - name: eventType
          in: path
          required: true
          schema:
            type: string
            enum:
              - PayslipGeneratedEvent
              - P45GeneratedEvent
              - P60GeneratedEvent
              - EmployeePensionEnrolmentEvent
              - ReportReadyEvent
              - WebhookEndpointFailingEvent
              - WebhookEndpointDisabledEvent
          description: >-
            The email, by the event name its webhook delivery events carry, as
            listed by the list operation: PayslipGeneratedEvent,
            P45GeneratedEvent, P60GeneratedEvent, EmployeePensionEnrolmentEvent,
            ReportReadyEvent, WebhookEndpointFailingEvent,
            WebhookEndpointDisabledEvent.
      requestBody:
        required: false
        content:
          application/merge-patch+json:
            schema:
              $ref: '#/components/schemas/EmailWordingPatch'
          application/json:
            schema:
              $ref: '#/components/schemas/EmailWordingPatch'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmailWordingPreviewResponseResponseBody'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectResponseBody'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectResponseBody'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectResponseBody'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectResponseBody'
      security:
        - X-Auth-Token: []
          X-Org-Id: []
components:
  schemas:
    EmailWordingPatch:
      type: object
      description: 'Absent: keep. null: clear and inherit. Text: set.'
      properties:
        subject:
          type: string
          nullable: true
        heading:
          type: string
          nullable: true
        intro:
          type: string
          nullable: true
        closing:
          type: string
          nullable: true
        buttonLabel:
          type: string
          nullable: true
        enabled:
          type: boolean
          nullable: true
          description: 'false: switch the email off. true: on. null: follow the account.'
      additionalProperties: false
    EmailWordingPreviewResponseResponseBody:
      type: object
      required:
        - message
      properties:
        message:
          $ref: '#/components/schemas/MessageWithTokenResponse'
        validationIssues:
          type: array
          items:
            $ref: '#/components/schemas/ValidationIssue'
          nullable: true
        content:
          $ref: '#/components/schemas/EmailWordingPreviewResponseContentResponse'
      additionalProperties: false
    ObjectResponseBody:
      type: object
      required:
        - message
      properties:
        message:
          $ref: '#/components/schemas/MessageWithTokenResponse'
        validationIssues:
          type: array
          items:
            $ref: '#/components/schemas/ValidationIssue'
          nullable: true
      additionalProperties: false
    MessageWithTokenResponse:
      type: object
      required:
        - text
        - token
      properties:
        text:
          type: string
        token:
          type: string
        tokenArguments:
          type: array
          items:
            $ref: '#/components/schemas/ValidationIssueArgument'
          nullable: true
      additionalProperties: false
    ValidationIssue:
      type: object
      required:
        - field
        - reason
        - reasonToken
      properties:
        field:
          type: string
        reason:
          type: string
        reasonToken:
          type: string
        reasonTokenArguments:
          type: array
          items:
            $ref: '#/components/schemas/ValidationIssueArgument'
          nullable: true
      additionalProperties: false
    EmailWordingPreviewResponseContentResponse:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/EmailWordingPreviewResponse'
        metadata:
          $ref: '#/components/schemas/ContentMetadataResponse'
      additionalProperties: false
    ValidationIssueArgument:
      type: object
      required:
        - name
      properties:
        name:
          type: string
        value: {}
      additionalProperties: false
    EmailWordingPreviewResponse:
      type: object
      required:
        - eventType
        - wording
      properties:
        eventType:
          type: string
        wording:
          $ref: '#/components/schemas/EmailWording'
      additionalProperties: false
    ContentMetadataResponse:
      type: object
      required:
        - dateFormat
        - dateTimeFormat
      properties:
        dateFormat:
          type: string
        dateTimeFormat:
          type: string
        paginationToken:
          type: string
          nullable: true
      additionalProperties: false
    EmailWording:
      type: object
      properties:
        subject:
          type: string
          nullable: true
        heading:
          type: string
          nullable: true
        intro:
          type: string
          nullable: true
        closing:
          type: string
          nullable: true
        buttonLabel:
          type: string
          nullable: true
      additionalProperties: false
  securitySchemes:
    X-Auth-Token:
      type: apiKey
      description: Your access token (raw token, no Bearer prefix)
      name: X-Auth-Token
      in: header
    X-Org-Id:
      type: apiKey
      description: >-
        The organisation to act on. Required only when your credentials can
        reach more than one organisation; optional for a single organisation.
      name: X-Org-Id
      in: header

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.