---
title: "List settings"
method: GET
path: "/settings"
tags: ["settings"]
---

# List settings

`GET /settings`

## Request

- Base URL: `https://api.lumahealth.io/api/v2`
- URL: `https://api.lumahealth.io/api/v2/settings`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/lumahealth/apis/rest-service/docs/settings/get.ts> (a function with typed inputs; its response is checked against the schema)

## Query parameters

- `ref` 'user' | 'provider' | 'facility' | 'appointment-type' | 'integrator'
- `refId` string
- `_id` string
- `createdBy` string
- `updatedBy` string
- `createdAt` string, date-time
- `updatedAt` string, date-time
- `page` integer
- `limit` integer
- `_populate` string
- `_select` string

## Response `200`

List of settings

- object
  - `response` SettingResponse[]
    - `_id` string: Luma's internal ID of an object.
    - `user` string: The ID of the root account user.
    - `deleted` 0 | 1: Flag for logical deletion where 1 means deleted.
    - `createdBy` string: The ID of the user who created this object.
    - `updatedBy` string: The ID of the user who updated this object.
    - `createdAt` string, date-time: The date/time when this object was created.
    - `updatedAt` string, date-time: The date/time when this object was updated.
    - `refId` string: refId
    - `ref` 'user' | 'provider' | 'facility' | 'appointment-type' | 'integrator': ref
    - `settings` SettingProperty
      - `session` object
        - `logoutTimeout` number: settings.session.logoutTimeout
      - `welcome` object
        - `currentStep` number: settings.welcome.currentStep
        - `termsAgreementDate` string, date-time: settings.welcome.termsAgreementDate
      - `telehealth` object
        - `enabled` boolean: settings.telehealth.enabled
        - `sessionReminderMinutes` number: settings.telehealth.sessionReminderMinutes
        - `sessionFinalReminderMinutes` number: settings.telehealth.sessionFinalReminderMinutes
        - `maximumNoShowMinutes` number: settings.telehealth.maximumNoShowMinutes
        - `vendor` 'twilio' | 'zoom': settings.telehealth.vendor
        - `vendors` object
          - `zoom` object
            - `apiKey` string: settings.telehealth.vendors.zoom.apiKey
            - `apiSecret` string: settings.telehealth.vendors.zoom.apiSecret
            - `type` 'free' | 'pro' | 'business': settings.telehealth.vendors.zoom.type
        - `showTimer` boolean: settings.telehealth.showTimer
        - `requireProviderLogin` boolean: settings.telehealth.requireProviderLogin
        - `telehealthGroup` object
          - `createDefaultGroup` object
            - `enabled` boolean: settings.telehealth.telehealthGroup.createDefaultGroup.enabled
          - `addProviderToDefaultGroup` object
            - `enabled` boolean: settings.telehealth.telehealthGroup.addProviderToDefaultGroup.enabled
      - `labs` object
        - `enabled` boolean: settings.labs.enabled
      - `lumabot` object
        - `enabled` boolean: settings.lumabot.enabled
        - `includePoweredByLuma` boolean: settings.lumabot.includePoweredByLuma
        - `placement` string: settings.lumabot.placement
        - `name` string: settings.lumabot.name
        - `header` string: settings.lumabot.header
        - `prompt` string: settings.lumabot.prompt
        - `avatar` string: ID of FileUpload
        - `agentic` object
          - `enabled` boolean: settings.lumabot.agentic.enabled
        - `theme` object
          - `palette` object
            - `primary` object
              - …
            - `secondary` object
              - …
            - `tertiary` object
              - …
            - `background` object
              - …
      - `communication` object
        - `defaultChatVisibility` 'public' | 'internal': settings.communication.defaultChatVisibility
        - `defaultChatCommunicationSecurity` object
          - `level` 'secure' | 'insecure': settings.communication.defaultChatCommunicationSecurity.level
          - `acknowledgedBy` string: ID of User
          - `acknowledgedAt` string, date-time: settings.communication.defaultChatCommunicationSecurity.acknowledgedAt
        - `useFacilityPhoneAsFromNumber` boolean: settings.communication.useFacilityPhoneAsFromNumber
        - `useFacilityAlternativePhoneAsFromNumber` boolean: settings.communication.useFacilityAlternativePhoneAsFromNumber
        - `useFacilityNumberFallback` object
          - `enabled` boolean: settings.communication.useFacilityNumberFallback.enabled
          - `phone` string: settings.communication.useFacilityNumberFallback.phone
        - `unsubscribedMessages` unknown[]: settings.communication.unsubscribedMessages
          - unknown
        - `blockedContacts` unknown[]: settings.communication.blockedContacts
          - unknown
        - `limitedContacts` unknown[]: settings.communication.limitedContacts
          - unknown
        - `expirePatientData` object
          - `enabled` boolean: settings.communication.expirePatientData.enabled
          - `maxAgeInDays` number: settings.communication.expirePatientData.maxAgeInDays
        - `urlReplacers` object[]: settings.communication.urlReplacers
          - `find` string: find
          - `replace` string: replace
          - `_id` string: _id
        - `disableAutomaticLinkShortening` boolean: settings.communication.disableAutomaticLinkShortening
        - `filterPatientMessageHistory` unknown[]: settings.communication.filterPatientMessageHistory
          - unknown
        - `staffDisabledChannels` string[]: settings.communication.staffDisabledChannels
        - `reopenChatsForUnclassifiedReplies` boolean: settings.communication.reopenChatsForUnclassifiedReplies
        - `minLengthToReopenChat` number: settings.communication.minLengthToReopenChat
        - `minLengthToReopenChatPerTemplate` unknown
        - `reopenChatsWithStatusUnassigned` boolean: settings.communication.reopenChatsWithStatusUnassigned
        - `sendAfterHoursMessageForInboundChats` boolean: settings.communication.sendAfterHoursMessageForInboundChats
        - `broadcastSkipPatientLookup` boolean: settings.communication.broadcastSkipPatientLookup
        - `officeHoursPerDay` object[]: settings.communication.officeHoursPerDay
          - `weekDay` number: weekDay
          - `beginAt` number: beginAt
          - `endAt` number: endAt
          - `_id` string: _id
        - `customHolidays` object: settings.communication.customHolidays
          - `dates` object[]: settings.communication.customHolidays.dates
            - `date` string, date-time: date
            - `description` string: description
            - `closed` boolean: closed
            - `sendAppointmentReminders` 'before' | 'as-scheduled': sendAppointmentReminders
            - `sendReferralReminders` 'after' | 'as-scheduled': sendReferralReminders
            - `_id` string: _id
        - `officeHours` object
          - `beginAt` number: settings.communication.officeHours.beginAt
          - `endAt` number: settings.communication.officeHours.endAt
        - `numberMasking` object
          - `enabled` boolean: settings.communication.numberMasking.enabled
        - `emailMasking` object
          - `enabled` boolean: settings.communication.emailMasking.enabled
          - `fromName` string: settings.communication.emailMasking.fromName
          - `fromEmail` string: settings.communication.emailMasking.fromEmail
        - `contactVerification` object
          - `enabled` boolean: settings.communication.contactVerification.enabled
        - `patientInitiatedTexting` object
          - `enabled` boolean: settings.communication.patientInitiatedTexting.enabled
          - `lookupCallerId` boolean: settings.communication.patientInitiatedTexting.lookupCallerId
          - `useRandomNumbersAsGeneratedName` boolean: settings.communication.patientInitiatedTexting.useRandomNumbersAsGeneratedName
        - `searchByToAndFrom` boolean: settings.communication.searchByToAndFrom
        - `systemMessagesExpiration` object
          - `enabled` boolean: settings.communication.systemMessagesExpiration.enabled
          - `value` number: settings.communication.systemMessagesExpiration.value
          - `unit` 'years' | 'months' | 'weeks' | 'days' | 'hours': settings.communication.systemMessagesExpiration.unit
        - `inboundMessageReplies` object
          - `length` number: settings.communication.inboundMessageReplies.length
          - `keys` unknown[]: settings.communication.inboundMessageReplies.keys
            - unknown
        - `outboundMessages` object
          - `allowRetries` boolean: settings.communication.outboundMessages.allowRetries
          - `skipSmsToLandline` boolean: settings.communication.outboundMessages.skipSmsToLandline
          - `allowSmsOverLongCode` object
            - `enabled` boolean: settings.communication.outboundMessages.allowSmsOverLongCode.enabled
          - `multiChannelRetries` object
            - `enabled` boolean: settings.communication.outboundMessages.multiChannelRetries.enabled
            - `shouldSmsNumberBeRetriedAsVoice` object
              - …
            - `channels` string[]: settings.communication.outboundMessages.multiChannelRetries.channels
            - `failuresToIgnoreByChannel` string[]: settings.communication.outboundMessages.multiChannelRetries.failuresToIgnoreByChannel
            - `refs` unknown[]: settings.communication.outboundMessages.multiChannelRetries.refs
              - …
            - `number` number: settings.communication.outboundMessages.multiChannelRetries.number
        - `filterChatsByGroupsFacilities` boolean: settings.communication.filterChatsByGroupsFacilities
        - `suppressMessagesByProvisioning` boolean: settings.communication.suppressMessagesByProvisioning
        - `sortMessagesBy` 'unreadMessages' | 'priorityUpdatedAt': settings.communication.sortMessagesBy
        - `chatAssignmentOnHubSend` 'reassign' | 'keepAssignee': settings.communication.chatAssignmentOnHubSend
        - `chatAssignmentOnProfileSend` 'reassign' | 'keepAssignee': settings.communication.chatAssignmentOnProfileSend
        - `useFixedNumber` object
          - `enabled` boolean: settings.communication.useFixedNumber.enabled
          - `vendor` 'twilio' | 'bandwidth': settings.communication.useFixedNumber.vendor
          - `number` string: settings.communication.useFixedNumber.number
          - `allowAutoReplacement` boolean: settings.communication.useFixedNumber.allowAutoReplacement
          - `numbers` object[]: settings.communication.useFixedNumber.numbers
            - `enabled` boolean: enabled
            - `default` boolean: default
            - `vendor` 'twilio' | 'bandwidth': vendor
            - `number` string: number
            - `allowAutoReplacement` boolean: allowAutoReplacement
            - `_id` string: _id
        - `enableInboundCallForwardingToFacilityPhone` boolean: settings.communication.enableInboundCallForwardingToFacilityPhone
        - `enableInboundCallForwardingToFacilityAlternativePhone` boolean: settings.communication.enableInboundCallForwardingToFacilityAlternativePhone
        - `useExistentLumaContactOnBroadcastsWithEmptyValues` boolean: settings.communication.useExistentLumaContactOnBroadcastsWithEmptyValues
        - `broadcast` object
          - `patientsBatchLimit` object
            - `enabled` boolean: settings.communication.broadcast.patientsBatchLimit.enabled
            - `value` number: settings.communication.broadcast.patientsBatchLimit.value
            - `interval` object
              - …
          - `rolesToBeNotifiedOnRequiredAction` object
            - `shouldNotifyByGroup` boolean: settings.communication.broadcast.rolesToBeNotifiedOnRequiredAction.shouldNotifyByGroup
            - `roles` string[]: settings.communication.broadcast.rolesToBeNotifiedOnRequiredAction.roles
          - `messagesOverrides` object
            - `enabled` boolean: settings.communication.broadcast.messagesOverrides.enabled
          - `uploadMapper` object
            - `enabled` boolean: settings.communication.broadcast.uploadMapper.enabled
          - `statusChangesNotifications` object
            - `enabled` boolean: settings.communication.broadcast.statusChangesNotifications.enabled
        - `ignoreInactiveContactsToSendMessage` object
          - `enabled` boolean: settings.communication.ignoreInactiveContactsToSendMessage.enabled
      - `timezone` string: settings.timezone
      - `useTimezoneFrom` 'user' | 'facility': settings.useTimezoneFrom
      - `localization` 'en-US' | 'pt-BR': settings.localization
      - `scheduler` object
        - `enabled` boolean: settings.scheduler.enabled
        - `alwaysHideToolbar` boolean: settings.scheduler.alwaysHideToolbar
        - `zipcodeMaxDistance` number: settings.scheduler.zipcodeMaxDistance
        - `daysAheadToShowAvailability` number: settings.scheduler.daysAheadToShowAvailability
        - `hoursAheadToShowAvailability` number: settings.scheduler.hoursAheadToShowAvailability
        - `maxDaysToShow` number: settings.scheduler.maxDaysToShow
        - `skipResettingAvailabilities` boolean: settings.scheduler.skipResettingAvailabilities
        - `skipTwoFactorAuthentication` boolean: settings.scheduler.skipTwoFactorAuthentication
        - `skipHeatMap` boolean: settings.scheduler.skipHeatMap
        - `requireForm` boolean: settings.scheduler.requireForm
        - `confirmationQrcode` object
          - `enabled` boolean: settings.scheduler.confirmationQrcode.enabled
          - `value` string: settings.scheduler.confirmationQrcode.value
        - `providerAvailabilityFilter` object[]: settings.scheduler.providerAvailabilityFilter
          - `dayOfMonth` number: dayOfMonth
          - `dayOfWeek` number: dayOfWeek
          - `startTime` string, date-time: startTime
          - `endTime` string, date-time: endTime
          - `_id` string: _id
        - `availabilityBlocks` object[]: settings.scheduler.availabilityBlocks
          - `dayOfWeek` number: dayOfWeek
          - `startTime` number: startTime
          - `endTime` number: endTime
          - `_id` string: _id
        - `maxAvailablitiesToRender` number: settings.scheduler.maxAvailablitiesToRender
        - `patientAddress` object
          - `required` boolean: settings.scheduler.patientAddress.required
          - `visible` boolean: settings.scheduler.patientAddress.visible
        - `patientEmailAddress` object
          - `required` boolean: settings.scheduler.patientEmailAddress.required
        - `reschedulerRespectsSchedulerRules` boolean: settings.scheduler.reschedulerRespectsSchedulerRules
        - `createPatientOnLookupFailure` boolean: settings.scheduler.createPatientOnLookupFailure
        - `minimumIntervalRequiredForBooking` number: settings.scheduler.minimumIntervalRequiredForBooking
        - `forceAppointmentTypeDuration` boolean: settings.scheduler.forceAppointmentTypeDuration
        - `ignoreDurationOnAvailabilityLookup` boolean: settings.scheduler.ignoreDurationOnAvailabilityLookup
        - `useAppointmentDurationOnAvailabilityCoalescing` boolean: settings.scheduler.useAppointmentDurationOnAvailabilityCoalescing
        - `botResponses` object
          - `enabled` boolean: settings.scheduler.botResponses.enabled
        - `showChatOnCompletion` boolean: settings.scheduler.showChatOnCompletion
        - `preQualificationFormTemplate` string: ID of PatientFormTemplate
        - `allowMultiLinkedAppointments` boolean: settings.scheduler.allowMultiLinkedAppointments
        - `hideProviderDetails` boolean: settings.scheduler.hideProviderDetails
        - `queryRealtimeAvailaiblitiesFromIntegration` boolean: settings.scheduler.queryRealtimeAvailaiblitiesFromIntegration
        - `sampleAvailabilityQuery` boolean: settings.scheduler.sampleAvailabilityQuery
        - `embeddedWidgetHtml` string: settings.scheduler.embeddedWidgetHtml
        - `useDependentProviderOnAnchorAvailability` boolean: settings.scheduler.useDependentProviderOnAnchorAvailability
        - `singleUseSchedulerLink` object
          - `enabled` boolean: settings.scheduler.singleUseSchedulerLink.enabled
        - `onlyNotifyStaffOnAnchorApptBooking` boolean: settings.scheduler.onlyNotifyStaffOnAnchorApptBooking
        - `minimumDaysFromLastAppointment` object
          - `enabled` boolean: settings.scheduler.minimumDaysFromLastAppointment.enabled
          - `amount` number: settings.scheduler.minimumDaysFromLastAppointment.amount
          - `status` string[]: settings.scheduler.minimumDaysFromLastAppointment.status
      - `outboundReferral` object
        - `enabled` boolean: settings.outboundReferral.enabled
        - `attempts` number: settings.outboundReferral.attempts
        - `interval` number: settings.outboundReferral.interval
        - `sendReferralFax` boolean: settings.outboundReferral.sendReferralFax
        - `sendReferralFaxCoversheet` boolean: settings.outboundReferral.sendReferralFaxCoversheet
        - `botResponses` object
          - `enabled` boolean: settings.outboundReferral.botResponses.enabled
        - `displayVisitReasonDropdown` boolean: settings.outboundReferral.displayVisitReasonDropdown
      - `referral` object
        - `enabled` boolean: settings.referral.enabled
        - `attempts` number: settings.referral.attempts
        - `useOutreachExperience` object
          - `enabled` boolean: settings.referral.useOutreachExperience.enabled
        - `interval` number: settings.referral.interval
        - `schedulableWindow` object
          - `earliest` number: settings.referral.schedulableWindow.earliest
          - `latest` number: settings.referral.schedulableWindow.latest
        - `sendReferralFax` boolean: settings.referral.sendReferralFax
        - `sendReferralFaxCoversheet` boolean: settings.referral.sendReferralFaxCoversheet
        - `sendReferralFaxStatus` object
          - `scheduled` boolean: settings.referral.sendReferralFaxStatus.scheduled
          - `cancelled` boolean: settings.referral.sendReferralFaxStatus.cancelled
          - `incomplete` boolean: settings.referral.sendReferralFaxStatus.incomplete
        - `sendReferralEmail` boolean: settings.referral.sendReferralEmail
        - `requireFullMatchForAutoSchedule` boolean: settings.referral.requireFullMatchForAutoSchedule
        - `requireSpecificMatchForAutoSchedule` boolean: settings.referral.requireSpecificMatchForAutoSchedule
        - `skipAutoSchedule` boolean: settings.referral.skipAutoSchedule
        - `requireMaxHoursApartFromAppointmentForAutoSchedule` number: settings.referral.requireMaxHoursApartFromAppointmentForAutoSchedule
        - `includeInternalMessagingInFollowupFax` boolean: settings.referral.includeInternalMessagingInFollowupFax
        - `formLink` string: settings.referral.formLink
        - `botResponses` object
          - `enabled` boolean: settings.referral.botResponses.enabled
        - `recommendations` object
          - `timingPreferences` object
            - `enabled` boolean: settings.referral.recommendations.timingPreferences.enabled
        - `markReferralsIncompleteAfterLastOutreachInHours` number: settings.referral.markReferralsIncompleteAfterLastOutreachInHours
        - `useFacilityAlternativeNumber` boolean: settings.referral.useFacilityAlternativeNumber
        - `suppressExpiration` object
          - `enabled` boolean: settings.referral.suppressExpiration.enabled
      - `reminder` object
        - `multipleRemindersPerDay` 'onlySendEarliest' | 'multipleRemindersPerDay': settings.reminder.multipleRemindersPerDay
        - `onlySendEarliestForApptTypesWithRemindersEnabled` boolean: settings.reminder.onlySendEarliestForApptTypesWithRemindersEnabled
        - `multipleRemindersPerDayShouldOnlyConsiderResourcesWithRemindersEnabledInSquiggly` boolean: settings.reminder.multipleRemindersPerDayShouldOnlyConsiderResourcesWithRemindersEnabledInSquiggly
        - `multipleRemindersPerDayRepliesOverride` 'disabled' | 'allowed' | 'confirmationOnly' | 'none': settings.reminder.multipleRemindersPerDayRepliesOverride
        - `schedule` unknown[]: settings.reminder.schedule
          - unknown
        - `enabled` boolean: settings.reminder.enabled
        - `onConfirmation` 'skipFurtherReminders' | 'keepLastReminder': settings.reminder.onConfirmation
        - `repliesForLastReminder` 'allowed' | 'confirmationOnly' | 'none': settings.reminder.repliesForLastReminder
        - `replies` 'allowed' | 'confirmationOnly' | 'none': settings.reminder.replies
        - `enabledChannels` string[]: settings.reminder.enabledChannels
        - `treatCancellationsAsNoShows` number: settings.reminder.treatCancellationsAsNoShows
        - `offerToJoinWaitlistOnCancellation` 'disabled' | 'from-reminder' | 'from-integrator' | 'from-both': settings.reminder.offerToJoinWaitlistOnCancellation
        - `schedulableWindow` object
          - `earliest` number: settings.reminder.schedulableWindow.earliest
          - `latest` number: settings.reminder.schedulableWindow.latest
        - `allowSelfSchedule` boolean: settings.reminder.allowSelfSchedule
        - `allowSelfReschedule` boolean: settings.reminder.allowSelfReschedule
        - `allowSelfRescheduleAvailabilityFilter` string[]: settings.reminder.allowSelfRescheduleAvailabilityFilter
        - `allowSelfRescheduleExpiry` number: settings.reminder.allowSelfRescheduleExpiry
        - `rescheduleSundayToSaturday` boolean: settings.reminder.rescheduleSundayToSaturday
        - `forceVoiceCallsForSmsNonResponders` boolean: settings.reminder.forceVoiceCallsForSmsNonResponders
        - `cancelOrConfirmAllAppointmentsInDay` boolean: settings.reminder.cancelOrConfirmAllAppointmentsInDay
        - `cancelOrConfirmAppointmentsInDayOnlyIfTypeVisible` boolean: settings.reminder.cancelOrConfirmAppointmentsInDayOnlyIfTypeVisible
        - `shouldRespectCancelOrConfirmAllAppointmentsInDay` boolean: settings.reminder.shouldRespectCancelOrConfirmAllAppointmentsInDay
        - `allowConfirmAfterCancel` boolean: settings.reminder.allowConfirmAfterCancel
        - `allowCancelAfterConfirm` boolean: settings.reminder.allowCancelAfterConfirm
        - `allowCancelAfterAppointmentStart` boolean: settings.reminder.allowCancelAfterAppointmentStart
        - `strictConfirmCancelTextHandling` boolean: settings.reminder.strictConfirmCancelTextHandling
        - `skipRedundantConfirmCancel` boolean: settings.reminder.skipRedundantConfirmCancel
        - `disableCatchupReminders` boolean: settings.reminder.disableCatchupReminders
        - `botResponses` object
          - `enabled` boolean: settings.reminder.botResponses.enabled
        - `forceMessageTime` object
          - `enabled` boolean: settings.reminder.forceMessageTime.enabled
          - `until` string: settings.reminder.forceMessageTime.until
        - `sendReminderOnHolidays` object
          - `enabled` boolean: settings.reminder.sendReminderOnHolidays.enabled
      - `cancellation` object
        - `enabled` boolean: settings.cancellation.enabled
        - `expiration` number: settings.cancellation.expiration
        - `processAppointmentTypes` boolean: settings.cancellation.processAppointmentTypes
        - `requireFrontOfficeAcceptance` boolean: settings.cancellation.requireFrontOfficeAcceptance
        - `shadowAppointment` object
          - `enabled` boolean: settings.cancellation.shadowAppointment.enabled
        - `allowDoubleBooks` boolean: settings.cancellation.allowDoubleBooks
        - `skipAvailabilityCreateFromCancellationStatusSources` unknown[]: settings.cancellation.skipAvailabilityCreateFromCancellationStatusSources
          - unknown
        - `maxDaysAheadsToProcessCancellation` number: settings.cancellation.maxDaysAheadsToProcessCancellation
        - `minMinutesAheadsToProcessCancellation` number: settings.cancellation.minMinutesAheadsToProcessCancellation
        - `minMinutesAheadsToProcessCancellationProviderOverridePolicy` 'min' | 'max': settings.cancellation.minMinutesAheadsToProcessCancellationProviderOverridePolicy
        - `spotsDiscovery` object
          - `enabled` boolean: settings.cancellation.spotsDiscovery.enabled
          - `maxSpots` number: settings.cancellation.spotsDiscovery.maxSpots
          - `hoursAhead` number: settings.cancellation.spotsDiscovery.hoursAhead
          - `includeWhitespace` boolean: settings.cancellation.spotsDiscovery.includeWhitespace
        - `autoAddToWaitlist` object
          - `enabled` boolean: settings.cancellation.autoAddToWaitlist.enabled
          - `daysAhead` number: settings.cancellation.autoAddToWaitlist.daysAhead
          - `maxDaysAhead` number: settings.cancellation.autoAddToWaitlist.maxDaysAhead
          - `minDaysFromLastAcceptedOfferToJoinWaitlist` number: settings.cancellation.autoAddToWaitlist.minDaysFromLastAcceptedOfferToJoinWaitlist
        - `waitlistOfferFlexibility` 'strict' | 'facility-match' | 'provider-match' | 'any': settings.cancellation.waitlistOfferFlexibility
        - `waitlistOfferSortOrder` 'longest-waiting' | 'most-recent-added': settings.cancellation.waitlistOfferSortOrder
        - `waitlistLocationOfferLeadTimeOverrides` object[]: settings.cancellation.waitlistLocationOfferLeadTimeOverrides
          - `facilityId` unknown
          - `minimumLeadTimeDays` number: settings.cancellation.waitlistLocationOfferLeadTimeOverrides[].minimumLeadTimeDays
        - `sendYouveBeenAddedMessage` boolean: settings.cancellation.sendYouveBeenAddedMessage
        - `skipOfferBasedOnLastSentOffer` boolean: settings.cancellation.skipOfferBasedOnLastSentOffer
        - `maxOffersPerWaitlist` number: settings.cancellation.maxOffersPerWaitlist
        - `protocol` 'serial' | 'parallel': settings.cancellation.protocol
        - `offerToJoinDuration` number: settings.cancellation.offerToJoinDuration
        - `autoCreateWaitlists` boolean: settings.cancellation.autoCreateWaitlists
        - `delayOffers` object
          - `enabled` boolean: settings.cancellation.delayOffers.enabled
          - `until` string: settings.cancellation.delayOffers.until
          - `delayOn` 'weekdays' | 'all-days': settings.cancellation.delayOffers.delayOn
          - `weekdaysDelay` object
            - `enabled` boolean: settings.cancellation.delayOffers.weekdaysDelay.enabled
            - `until` string: settings.cancellation.delayOffers.weekdaysDelay.until
          - `weekendsDelay` object
            - `enabled` boolean: settings.cancellation.delayOffers.weekendsDelay.enabled
            - `until` string: settings.cancellation.delayOffers.weekendsDelay.until
        - `disableOnWeekends` boolean: settings.cancellation.disableOnWeekends
        - `cancelFutureAppointment` boolean: settings.cancellation.cancelFutureAppointment
        - `requireFutureAppointment` boolean: settings.cancellation.requireFutureAppointment
        - `botResponses` object
          - `enabled` boolean: settings.cancellation.botResponses.enabled
      - `appointment` object
        - `duration` number: settings.appointment.duration
        - `recommendations` object
          - `timingPreferences` object
            - `enabled` boolean: settings.appointment.recommendations.timingPreferences.enabled
        - `validateUpdatedAtTimestamp` boolean: settings.appointment.validateUpdatedAtTimestamp
      - `feedback` object
        - `multipleRemindersPerDay` 'onlySendEarliest' | 'multipleRemindersPerDay': settings.feedback.multipleRemindersPerDay
        - `enabled` boolean: settings.feedback.enabled
        - `promoter` object
          - `type` 'facebook' | 'yelp' | 'patientfusion' | 'betterdoctor' | 'zocdoc' | 'google' | 'generic' | 'healthgrades' | 'ratemds': settings.feedback.promoter.type
          - `url` string: settings.feedback.promoter.url
        - `promoterUrls` object[]: settings.feedback.promoterUrls
          - `type` 'facebook' | 'yelp' | 'patientfusion' | 'betterdoctor' | 'zocdoc' | 'google' | 'generic' | 'healthgrades' | 'ratemds': type
          - `url` string: url
          - `enabled` boolean: enabled
          - `_id` string: _id
        - `detractor` object
          - `type` 'google' | 'luma': settings.feedback.detractor.type
          - `url` string: settings.feedback.detractor.url
        - `detractorUrls` object[]: settings.feedback.detractorUrls
          - `type` 'google' | 'surveymonkey' | 'luma': type
          - `url` string: url
          - `enabled` boolean: enabled
          - `_id` string: _id
        - `schedule` number: settings.feedback.schedule
        - `interval` object
          - `enabled` boolean: settings.feedback.interval.enabled
          - `value` number: settings.feedback.interval.value
        - `limit` object
          - `enabled` boolean: settings.feedback.limit.enabled
          - `value` number: settings.feedback.limit.value
        - `allowFeedbackForPastAppointments` boolean: settings.feedback.allowFeedbackForPastAppointments
        - `forceMessageTime` object
          - `enabled` boolean: settings.feedback.forceMessageTime.enabled
          - `until` string: settings.feedback.forceMessageTime.until
        - `botResponses` object
          - `enabled` boolean: settings.feedback.botResponses.enabled
        - `recommendations` object
          - `timingPreferences` object
            - `enabled` boolean: settings.feedback.recommendations.timingPreferences.enabled
        - `forceSkipBlackoutRules` boolean: settings.feedback.forceSkipBlackoutRules
      - `followup` object
        - `enabled` boolean: settings.followup.enabled
        - `recommendations` object
          - `timingPreferences` object
            - `enabled` boolean: settings.followup.recommendations.timingPreferences.enabled
        - `sendMessageForceTimeUsingTimezone` boolean: settings.followup.sendMessageForceTimeUsingTimezone
        - `ignoreCustomActionOperationsModelsFields` object
          - `operations` unknown[]: settings.followup.ignoreCustomActionOperationsModelsFields.operations
            - unknown
          - `models` unknown[]: settings.followup.ignoreCustomActionOperationsModelsFields.models
            - unknown
          - `fields` string[]: settings.followup.ignoreCustomActionOperationsModelsFields.fields
        - `sendImmediatelyWithPastSendAt` boolean: settings.followup.sendImmediatelyWithPastSendAt
        - `triggerCustomActionForDeletion` boolean: Determines if database deletions should trigger custom actions
      - `integrator` object
        - `requireLock` boolean: settings.integrator.requireLock
        - `lockExpiryInMinutes` number: settings.integrator.lockExpiryInMinutes
        - `syncWindow` object
          - `earliest` number: settings.integrator.syncWindow.earliest
          - `latest` number: settings.integrator.syncWindow.latest
          - `days` number: settings.integrator.syncWindow.days
          - `currentWeekSyncPastDataInDays` number: settings.integrator.syncWindow.currentWeekSyncPastDataInDays
        - `writeDataToIntegrator` object
          - `createAppointments` boolean: settings.integrator.writeDataToIntegrator.createAppointments
          - `createAppointmentsMaxRetries` number: settings.integrator.writeDataToIntegrator.createAppointmentsMaxRetries
          - `updateAvailabilityExternalIdOnCreateAppointmentSuccess` boolean: settings.integrator.writeDataToIntegrator.updateAvailabilityExternalIdOnCreateAppointmentSuccess
          - `updateStatus` boolean: settings.integrator.writeDataToIntegrator.updateStatus
          - `updatePatientDemographics` boolean: settings.integrator.writeDataToIntegrator.updatePatientDemographics
          - `updatePatientDemographicsName` boolean: settings.integrator.writeDataToIntegrator.updatePatientDemographicsName
          - `updatePatientDemographicsDateOfBirth` boolean: settings.integrator.writeDataToIntegrator.updatePatientDemographicsDateOfBirth
          - `flushPatientMessageHistory` boolean: settings.integrator.writeDataToIntegrator.flushPatientMessageHistory
          - `flushPatientMessageHistoryDelay` number: settings.integrator.writeDataToIntegrator.flushPatientMessageHistoryDelay
          - `flushPatientMessageHistoryDayOfWeek` number: settings.integrator.writeDataToIntegrator.flushPatientMessageHistoryDayOfWeek
          - `updateAppointmentNotesWithTelehealthLink` boolean: settings.integrator.writeDataToIntegrator.updateAppointmentNotesWithTelehealthLink
          - `updateAppointmentWithReminderSentStatus` boolean: settings.integrator.writeDataToIntegrator.updateAppointmentWithReminderSentStatus
          - `createOutboundHl7MessageOn` string[]: settings.integrator.writeDataToIntegrator.createOutboundHl7MessageOn
          - `createPatient` boolean: settings.integrator.writeDataToIntegrator.createPatient
          - `cacheDeletedAppointments` boolean: settings.integrator.writeDataToIntegrator.cacheDeletedAppointments
        - `frequency` number: settings.integrator.frequency
        - `enforceProviderDeltaCheck` boolean: settings.integrator.enforceProviderDeltaCheck
        - `enforceAppointmentDeltaCheck` boolean: settings.integrator.enforceAppointmentDeltaCheck
        - `syncProcedures` boolean: settings.integrator.syncProcedures
        - `syncDiagnoses` boolean: settings.integrator.syncDiagnoses
        - `syncReferrals` boolean: settings.integrator.syncReferrals
        - `syncRecalls` boolean: settings.integrator.syncRecalls
        - `syncInsurances` boolean: settings.integrator.syncInsurances
        - `syncOrders` boolean: settings.integrator.syncOrders
        - `verifySlotIsOpenBeforeAppointmentCreation` boolean: settings.integrator.verifySlotIsOpenBeforeAppointmentCreation
        - `verifyWhitespaceIsOpenBeforeAppointmentCreation` boolean: settings.integrator.verifyWhitespaceIsOpenBeforeAppointmentCreation
        - `requireValueAndTypeMatchOnDemographicsUpdate` boolean: settings.integrator.requireValueAndTypeMatchOnDemographicsUpdate
        - `skipGetProvider` boolean: settings.integrator.skipGetProvider
        - `syncAppointmentExternalRawSource` boolean: settings.integrator.syncAppointmentExternalRawSource
        - `syncProviderUpdates` object
          - `enabled` boolean: settings.integrator.syncProviderUpdates.enabled
        - `syncPatientExternalRawSource` boolean: settings.integrator.syncPatientExternalRawSource
        - `syncAdditionalDemographicFields` boolean: settings.integrator.syncAdditionalDemographicFields
        - `externalCustomResourceOverrides` object[]: settings.integrator.externalCustomResourceOverrides
          - `resource` 'provider' | 'appointment-type' | 'facility': resource
          - `override` string[]: override
          - `_id` string: _id
        - `syncNewResourcesAs` object
          - `hiddenAfterDays` number: settings.integrator.syncNewResourcesAs.hiddenAfterDays
          - `hiddenResources` string[]: settings.integrator.syncNewResourcesAs.hiddenResources
          - `disabledAfterDays` number: settings.integrator.syncNewResourcesAs.disabledAfterDays
          - `disabledResources` string[]: settings.integrator.syncNewResourcesAs.disabledResources
        - `historicDataLoader` object
          - `daysToLoad` number: settings.integrator.historicDataLoader.daysToLoad
          - `daysPerLoad` number: settings.integrator.historicDataLoader.daysPerLoad
        - `disableDedupeIncomingPatientData` boolean: settings.integrator.disableDedupeIncomingPatientData
        - `disablePatientsGetByExternalTypeAndComponents` boolean: settings.integrator.disablePatientsGetByExternalTypeAndComponents
        - `sftpConfirmationRangeInHours` number: settings.integrator.sftpConfirmationRangeInHours
        - `syncReferralsDisableExpiryForMissingReferrals` boolean: settings.integrator.syncReferralsDisableExpiryForMissingReferrals
        - `uploadReferralsPerformCompleteDeltaCheck` boolean: settings.integrator.uploadReferralsPerformCompleteDeltaCheck
        - `syncAppointmentsInParallel` boolean: settings.integrator.syncAppointmentsInParallel
        - `updateReferralsWithExternalRawSource` boolean: settings.integrator.updateReferralsWithExternalRawSource
      - `patients` object
        - `maxTokenAge` number: settings.patients.maxTokenAge
        - `loginLookupInIntegrator` boolean: settings.patients.loginLookupInIntegrator
        - `loginRequireActiveContactMatch` boolean: settings.patients.loginRequireActiveContactMatch
        - `requireCaptcha` boolean: settings.patients.requireCaptcha
        - `useAtlasSearch` boolean: settings.patients.useAtlasSearch
        - `appointmentManagement` object
          - `enabled` boolean: settings.patients.appointmentManagement.enabled
      - `reporting` object
        - `eventTracking` object
          - `enabled` boolean: settings.reporting.eventTracking.enabled
          - `trackingModel` 'patient' | 'user' | 'user-and-patient': settings.reporting.eventTracking.trackingModel
          - `vendors` string[]: settings.reporting.eventTracking.vendors
        - `useUserTimezoneInReports` boolean: settings.reporting.useUserTimezoneInReports
      - `waitingRoom` object
        - `enabled` boolean: settings.waitingRoom.enabled
      - `settingsToOverrideFrom` object
        - `facilities` unknown[]: settings.settingsToOverrideFrom.facilities
          - unknown
        - `providers` unknown[]: settings.settingsToOverrideFrom.providers
          - unknown
        - `appointmentTypes` unknown[]: settings.settingsToOverrideFrom.appointmentTypes
          - unknown
        - `users` unknown[]: settings.settingsToOverrideFrom.users
          - unknown
      - `billing` object
        - `vendors` object
          - `paypal` object
            - `enabled` boolean: settings.billing.vendors.paypal.enabled
          - `instamed` object
            - `enabled` boolean: settings.billing.vendors.instamed.enabled
          - `salucro` object
            - `enabled` boolean: settings.billing.vendors.salucro.enabled
        - `contactNumber` string: settings.billing.contactNumber
        - `contactEmail` string, email: settings.billing.contactEmail
      - `patientForms` object
        - `filterPatientFormsByFacility` boolean: settings.patientForms.filterPatientFormsByFacility
        - `preventRefillingCompletedForms` boolean: settings.patientForms.preventRefillingCompletedForms
        - `allowPerQuestionTwoFactorSkip` boolean: settings.patientForms.allowPerQuestionTwoFactorSkip
        - `showMessageOnFormEnd` boolean: settings.patientForms.showMessageOnFormEnd
        - `sendDirectMessageForCcdaForms` object
          - `enabled` boolean: settings.patientForms.sendDirectMessageForCcdaForms.enabled
          - `vendor` 'datamotion': settings.patientForms.sendDirectMessageForCcdaForms.vendor
          - `minutesAheadsToLookForAppointments` number: settings.patientForms.sendDirectMessageForCcdaForms.minutesAheadsToLookForAppointments
          - `directMessagingEmail` string: settings.patientForms.sendDirectMessageForCcdaForms.directMessagingEmail
        - `allowWidgetUserToUploadFile` boolean: settings.patientForms.allowWidgetUserToUploadFile
        - `hideProgressBarOnFormsWithJump` boolean: settings.patientForms.hideProgressBarOnFormsWithJump
        - `insuranceFormTemplate` string: ID of PatientFormTemplate
      - `insurance` object
        - `verification` object
          - `enabled` boolean: settings.insurance.verification.enabled
          - `hoursAheadToVerifyInsurance` number: settings.insurance.verification.hoursAheadToVerifyInsurance
      - `branding` object
        - `themes` object[]
          - `enabled` boolean: settings.branding.themes[i].enabled
          - `scope` string, required: settings.branding.themes[i].scope
      - `estimate` object
        - `updateFileUploadPatient` boolean: Determines if the file upload document linked to an estimate document must be updated with the patient ID and the estimate ID.
  - `page` integer
  - `size` integer

## Other responses

- `401`: Not authenticated
- `403`: Access token does not have the required scope

## Changes

- **2026-10-17** `f19aeba84a26`: 4 info
  - added the optional property `response/items/settings/cancellation/waitlistLocationOfferLeadTimeOverrides` to the response with the `200` status
  - added the optional property `response/items/settings/lumabot/agentic` to the response with the `200` status
  - added the optional property `response/items/settings/patientForms/allowPerQuestionTwoFactorSkip` to the response with the `200` status
  - added the optional property `response/items/settings/reminder/skipRedundantConfirmCancel` to the response with the `200` status

[Operation history](https://skmtc.dev/lumahealth/apis/rest-service/changes/settings/get.md)

---

[API](https://skmtc.dev/lumahealth/apis/rest-service.md) - [All operations](https://skmtc.dev/lumahealth/apis/rest-service/llms.txt) - [OpenAPI document](https://skmtc.dev/lumahealth/apis/rest-service/revisions/f19aeba84a26?raw)
