---
title: "Set logo URL and width for an event email context"
method: POST
path: "/organizations/{organizationId}/event-email-settings/{context}/logo-settings"
tags: ["Event Email Settings"]
---

# Set logo URL and width for an event email context

`POST /organizations/{organizationId}/event-email-settings/{context}/logo-settings`

Updates both the logo image URL and logo display width for event emails sent in the given context (practitioner or facility). Both fields are optional in the request body; omitting or nulling a field clears that value and removes it from nested mode-level records independently. Use this endpoint when you need to set both URL and width together; use POST /{context}/logo-url to update the URL alone. Returns the full EventEmailSettingsContextResponse for the context. logoWidth is a percentage string (e.g. "50%"); the DTO has no format constraint, so this convention is not enforced server-side. Note: this path does not constrain or validate context — other string values are silently accepted.

## Path parameters

- `context` 'practitioner' | 'facility', required
- `organizationId` string, required

## Headers

- `tenant-id` string, required

## Request body

- EventEmailSettingsLogoSettingsRequest — Request body for POST /organizations/{organizationId}/event-email-settings/{context}/logo-settings. context is specified in the URL path, not in this body.
  - `logoUrl` string — Logo image URL to apply to this context (both modes). Optional; omitting or nulling clears the context-level logo URL (and any nested mode-level values) independently of logoWidth. No format validation is applied.
  - `logoWidth` string — Logo display width to apply to this context (both modes), as a percentage string (e.g. "50%"). Optional; omitting or nulling clears the context-level logo width (and any nested mode-level values) independently of logoUrl. No format validation is enforced server-side despite this expected convention.

## Response `200`

The full context settings record with the updated logo URL and width, including both mode summaries.

- EventEmailSettingsContextResponse — Event email settings for one context (practitioner or facility), covering both the context-level fields (ccEmail, logoUrl, logoWidth, mmoOutcomeFilter) and both modes' settings. Returned by the context-level update endpoints (cc-email, logo-url, logo-settings, recipient-preferences, mmo-outcome-filter).
  - `ccEmail` string — Resolved CC email for this context: the context-level value if set, otherwise falling back to the credentialing mode's value, then the recredentialing mode's value. Null if none is set.
  - `logoUrl` string — Resolved logo image URL for this context, using the same context-then-credentialing-then-recredentialing fallback as ccEmail. Null if none is set.
  - `logoWidth` string — Resolved logo display width for this context, using the same fallback as ccEmail/logoUrl, as a percentage string (e.g. "50%"); no format is enforced server-side. Null if none is set.
  - `credentialing` EventEmailSettingsModeResponse — One mode's (credentialing or recredentialing) event email settings, nested inside EventEmailSettingsContextResponse. Does not repeat the context-level ccEmail/logoUrl/logoWidth fields, which live on the parent context object.
    - `recipientPreferences` EventEmailRecipientPreferencesDto, required — Boolean flags controlling which recipient types receive event emails for a context.
      - `primaryEmail` boolean — true to send event emails to the practitioner's or facility's primary email on file; false or null to skip this recipient.
      - `caqhPrimaryEmail` boolean — true to send event emails to the CAQH-sourced primary email on file; false or null to skip this recipient.
      - `credentialingPrimaryContact` boolean — true to send event emails to the credentialing workflow's primary contact; false or null to skip this recipient.
      - `credentialingOfficeManager` boolean — true to send event emails to the office manager on the credentialing workflow; false or null to skip this recipient.
    - `typeSettings` EventEmailTypeSettingsDto[], required — One entry per configured event email type for this mode (initiated, approved, denied, cancelled, psvReady, inProgress).
      - `type` 'initiated' | 'approved' | 'denied' | 'cancelled' | 'psvReady' | 'inProgress', required — Which workflow event this entry configures: "initiated" (workflow started), "approved" (credentialing/recredentialing approved), "denied" (application denied), "cancelled" (workflow cancelled), "psvReady" (primary source verification complete), "inProgress" (workflow in progress).
      - `template` EventEmailTemplateDto, required — Subject and body content for one event email type's template.
        - `subject` string, required — Email subject line. Required and must be non-blank when the parent typeSettings entry has enabled: true.
        - `bodyHtml` string, required — Email body as HTML markup. Required and must be non-blank when the parent typeSettings entry has enabled: true.
      - `enabled` boolean, required — Whether an email is sent for this event type. When true, template.subject and template.bodyHtml must be non-blank.
  - `recredentialing` EventEmailSettingsModeResponse — One mode's (credentialing or recredentialing) event email settings, nested inside EventEmailSettingsContextResponse. Does not repeat the context-level ccEmail/logoUrl/logoWidth fields, which live on the parent context object.
    - `recipientPreferences` EventEmailRecipientPreferencesDto, required — Boolean flags controlling which recipient types receive event emails for a context.
      - `primaryEmail` boolean — true to send event emails to the practitioner's or facility's primary email on file; false or null to skip this recipient.
      - `caqhPrimaryEmail` boolean — true to send event emails to the CAQH-sourced primary email on file; false or null to skip this recipient.
      - `credentialingPrimaryContact` boolean — true to send event emails to the credentialing workflow's primary contact; false or null to skip this recipient.
      - `credentialingOfficeManager` boolean — true to send event emails to the office manager on the credentialing workflow; false or null to skip this recipient.
    - `typeSettings` EventEmailTypeSettingsDto[], required — One entry per configured event email type for this mode (initiated, approved, denied, cancelled, psvReady, inProgress).
      - `type` 'initiated' | 'approved' | 'denied' | 'cancelled' | 'psvReady' | 'inProgress', required — Which workflow event this entry configures: "initiated" (workflow started), "approved" (credentialing/recredentialing approved), "denied" (application denied), "cancelled" (workflow cancelled), "psvReady" (primary source verification complete), "inProgress" (workflow in progress).
      - `template` EventEmailTemplateDto, required — Subject and body content for one event email type's template.
        - `subject` string, required — Email subject line. Required and must be non-blank when the parent typeSettings entry has enabled: true.
        - `bodyHtml` string, required — Email body as HTML markup. Required and must be non-blank when the parent typeSettings entry has enabled: true.
      - `enabled` boolean, required — Whether an email is sent for this event type. When true, template.subject and template.bodyHtml must be non-blank.
  - `mmoOutcomeFilter` string[] — Primary MMO (Managed Medical Outcomes) result types to send emails for. Allowed values: "Positive" (approved plan outcomes), "Negative" (denied plan outcomes). When the workflow has both approved and denied plan UDFs for the same event, the complementary outcome email is still sent regardless of this filter (e.g. filter ["Positive"] still sends the denied-plans email if present, and vice versa) — this filter narrows the primary outcome, it does not suppress the paired one. Null or empty = no restriction (both sent).

## Other responses

- `400` — Reserved for future request validation; no validation currently triggers this on this endpoint.
- `401` — Unauthorized - Authentication required
- `403` — Forbidden - User does not have required permissions
- `500` — Internal Server Error

---

[API](https://skmtc.net/certifyos/apis/certify-api-layer.md) · [All operations](https://skmtc.net/certifyos/apis/certify-api-layer/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/certifyos/certify-api-layer/revisions/563848e0ecc0/schema)
