Luma Health Settings API

Luma resource settings

Operations 3

GET /settings List settings #
GET /settings/{settingId} Get setting by id #
PUT /settings/{settingId} Update a setting #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/luma-health-settings-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

luma-health-settings-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 2.0.0
  title: Rest-Service Settings API
  x-logo:
    url: https://lumahealth-assets.s3.us-west-2.amazonaws.com/new_luma_logo_black.png
    backgroundColor: '#FFFFFF'
    altText: Luma Health
  description: OpenAPI [Basic Structure](https://swagger.io/docs/specification/basic-structure/)
servers:
- url: https://api.lumahealth.io/api/v2
security:
- Bearer: []
tags:
- name: settings
  description: Luma resource settings
paths:
  /settings:
    get:
      summary: List settings
      operationId: settingsList
      tags:
      - settings
      parameters:
      - name: ref
        description: The name of the resource to which these settings apply (user, appointment type, facility, integrator). See also refId.
        in: query
        schema:
          type: string
          enum:
          - user
          - provider
          - facility
          - appointment-type
          - integrator
      - name: refId
        description: The ID of the resource to which these settings apply (user, appointment type, facility, integrator). See also ref.
        in: query
        schema:
          type: string
          pattern: '[0-9a-f]'
          minLength: 24
          maxLength: 24
      - name: _id
        description: Luma's internal ID of these settings. It's a hexadecimal string, 24 chars long.
        in: query
        schema:
          type: string
          pattern: '[0-9a-f]'
          minLength: 24
          maxLength: 24
      - $ref: '#/components/parameters/createdByParam'
      - $ref: '#/components/parameters/updatedByParam'
      - $ref: '#/components/parameters/createdAtParam'
      - $ref: '#/components/parameters/updatedAtParam'
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/limitParam'
      - $ref: '#/components/parameters/populateParam'
      - $ref: '#/components/parameters/selectParam'
      responses:
        '200':
          description: List of settings
          content:
            application/json:
              schema:
                type: object
                properties:
                  response:
                    type: array
                    minItems: 0
                    items:
                      $ref: '#/components/schemas/SettingResponse'
                  page:
                    type: integer
                    format: int32
                    minimum: 1
                  size:
                    type: integer
                    format: int32
                    minimum: 0
        '401':
          description: Not authenticated
        '403':
          description: Access token does not have the required scope
  /settings/{settingId}:
    get:
      summary: Get setting by id
      operationId: settingGet
      tags:
      - settings
      parameters:
      - name: settingId
        in: path
        required: true
        description: Settings' unique identifier in Luma's database.
        schema:
          type: string
          pattern: '[0-9a-f]'
          minLength: 24
          maxLength: 24
      responses:
        '200':
          description: Setting
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SettingResponse'
        '401':
          description: Not authenticated
        '403':
          description: Access token does not have the required scope
    put:
      summary: Update a setting
      operationId: settingUpdate
      tags:
      - settings
      parameters:
      - name: settingId
        in: path
        required: true
        description: Settings' unique identifier in Luma's database.
        schema:
          type: string
          pattern: '[0-9a-f]'
          minLength: 24
          maxLength: 24
      requestBody:
        description: A setting (full or partial) to be updated
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SettingRequest'
      responses:
        '200':
          description: Setting
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SettingResponse'
        '401':
          description: Not authenticated
        '403':
          description: Access token does not have the required scope
components:
  schemas:
    createdAtParam:
      in: query
      name: createdAt
      type: string
      format: date-time
      schema:
        type: string
        format: date-time
      required: false
      description: The date/time when this object was created.
    updatedByParam:
      in: query
      name: updatedBy
      required: false
      type: string
      pattern: '[0-9a-f]'
      minLength: 24
      maxLength: 24
      schema:
        type: string
        pattern: '[0-9a-f]'
        minLength: 24
        maxLength: 24
      description: The ID of the user who updated this object.
    createdByParam:
      in: query
      name: createdBy
      type: string
      pattern: '[0-9a-f]'
      minLength: 24
      maxLength: 24
      schema:
        type: string
        pattern: '[0-9a-f]'
        minLength: 24
        maxLength: 24
      required: false
      description: The ID of the user who created this object.
    userParam:
      in: query
      name: user
      required: false
      type: string
      pattern: '[0-9a-f]'
      minLength: 24
      maxLength: 24
      schema:
        type: string
        pattern: '[0-9a-f]'
        minLength: 24
        maxLength: 24
      description: The ID of the root account user.
    SettingRequest:
      type: object
      properties:
        refId:
          description: refId
          type: string
          pattern: '[0-9a-f]'
          minLength: 24
          maxLength: 24
        ref:
          description: ref
          type: string
          enum:
          - user
          - provider
          - facility
          - appointment-type
          - integrator
        settings:
          $ref: '#/components/schemas/SettingProperty'
    deletedParam:
      in: query
      name: deleted
      required: false
      type: number
      enum:
      - 0
      - 1
      schema:
        type: number
        enum:
        - 0
        - 1
      description: Flag for logical deletion where 1 means deleted.
    SettingResponse:
      type: object
      description: Represents the configuration settings for a Luma Health account, covering areas such as session timeouts, telehealth behavior, kiosk flows, and data sync freshness windows. It is a large, flexible settings object used to control product behavior on a per-customer basis, and can be scoped to a user, provider, facility, appointment type, or integrator.
      properties:
        _id:
          $ref: '#/components/schemas/idParam'
        user:
          $ref: '#/components/schemas/userParam'
        deleted:
          $ref: '#/components/schemas/deletedParam'
        createdBy:
          $ref: '#/components/schemas/createdByParam'
        updatedBy:
          $ref: '#/components/schemas/updatedByParam'
        createdAt:
          $ref: '#/components/schemas/createdAtParam'
        updatedAt:
          $ref: '#/components/schemas/updatedAtParam'
        refId:
          description: refId
          type: string
          pattern: '[0-9a-f]'
          minLength: 24
          maxLength: 24
        ref:
          description: ref
          type: string
          enum:
          - user
          - provider
          - facility
          - appointment-type
          - integrator
        settings:
          $ref: '#/components/schemas/SettingProperty'
    idParam:
      in: query
      name: _id
      type: string
      pattern: '[0-9a-f]'
      minLength: 24
      maxLength: 24
      required: false
      schema:
        type: string
        pattern: '[0-9a-f]'
        minLength: 24
        maxLength: 24
      description: Luma's internal ID of an object.
    SettingProperty:
      type: object
      properties:
        session:
          type: object
          properties:
            logoutTimeout:
              description: settings.session.logoutTimeout
              type: number
              default: 30
        welcome:
          type: object
          properties:
            currentStep:
              description: settings.welcome.currentStep
              type: number
            termsAgreementDate:
              description: settings.welcome.termsAgreementDate
              type: string
              format: date-time
        telehealth:
          type: object
          properties:
            enabled:
              description: settings.telehealth.enabled
              type: boolean
            sessionReminderMinutes:
              description: settings.telehealth.sessionReminderMinutes
              type: number
              default: 30
            sessionFinalReminderMinutes:
              description: settings.telehealth.sessionFinalReminderMinutes
              type: number
              default: 5
            maximumNoShowMinutes:
              description: settings.telehealth.maximumNoShowMinutes
              type: number
              default: 240
            vendor:
              description: settings.telehealth.vendor
              type: string
              default: twilio
              enum:
              - twilio
              - zoom
            vendors:
              type: object
              properties:
                zoom:
                  type: object
                  properties:
                    apiKey:
                      description: settings.telehealth.vendors.zoom.apiKey
                      type: string
                    apiSecret:
                      description: settings.telehealth.vendors.zoom.apiSecret
                      type: string
                    type:
                      description: settings.telehealth.vendors.zoom.type
                      type: string
                      default: free
                      enum:
                      - free
                      - pro
                      - business
            showTimer:
              description: settings.telehealth.showTimer
              type: boolean
            requireProviderLogin:
              description: settings.telehealth.requireProviderLogin
              type: boolean
            telehealthGroup:
              type: object
              properties:
                createDefaultGroup:
                  type: object
                  properties:
                    enabled:
                      description: settings.telehealth.telehealthGroup.createDefaultGroup.enabled
                      type: boolean
                      default: true
                addProviderToDefaultGroup:
                  type: object
                  properties:
                    enabled:
                      description: settings.telehealth.telehealthGroup.addProviderToDefaultGroup.enabled
                      type: boolean
                      default: true
        labs:
          type: object
          properties:
            enabled:
              description: settings.labs.enabled
              type: boolean
        lumabot:
          type: object
          properties:
            enabled:
              description: settings.lumabot.enabled
              type: boolean
              default: true
            includePoweredByLuma:
              description: settings.lumabot.includePoweredByLuma
              type: boolean
              default: true
            placement:
              description: settings.lumabot.placement
              type: string
              default: right
            name:
              description: settings.lumabot.name
              type: string
              default: LumaBot
            header:
              description: settings.lumabot.header
              type: string
              default: Virtual Assistant
            prompt:
              description: settings.lumabot.prompt
              type: string
              default: Hello! How can I help you today?
            avatar:
              description: ID of FileUpload
              type: string
              pattern: '[0-9a-f]'
              minLength: 24
              maxLength: 24
            theme:
              type: object
              properties:
                palette:
                  type: object
                  properties:
                    primary:
                      type: object
                      properties:
                        light:
                          description: settings.lumabot.theme.palette.primary.light
                          type: string
                        main:
                          description: settings.lumabot.theme.palette.primary.main
                          type: string
                        dark:
                          description: settings.lumabot.theme.palette.primary.dark
                          type: string
                        contrastText:
                          description: settings.lumabot.theme.palette.primary.contrastText
                          type: string
                    secondary:
                      type: object
                      properties:
                        light:
                          description: settings.lumabot.theme.palette.secondary.light
                          type: string
                        main:
                          description: settings.lumabot.theme.palette.secondary.main
                          type: string
                        dark:
                          description: settings.lumabot.theme.palette.secondary.dark
                          type: string
                        contrastText:
                          description: settings.lumabot.theme.palette.secondary.contrastText
                          type: string
                    tertiary:
                      type: object
                      properties:
                        light:
                          description: settings.lumabot.theme.palette.tertiary.light
                          type: string
                        main:
                          description: settings.lumabot.theme.palette.tertiary.main
                          type: string
                        dark:
                          description: settings.lumabot.theme.palette.tertiary.dark
                          type: string
                        contrastText:
                          description: settings.lumabot.theme.palette.tertiary.contrastText
                          type: string
                    background:
                      type: object
                      properties:
                        default:
                          description: settings.lumabot.theme.palette.background.default
                          type: string
                        paper:
                          description: settings.lumabot.theme.palette.background.paper
                          type: string
        communication:
          type: object
          properties:
            defaultChatVisibility:
              description: settings.communication.defaultChatVisibility
              type: string
              default: internal
              enum:
              - public
              - internal
            defaultChatCommunicationSecurity:
              type: object
              properties:
                level:
                  description: settings.communication.defaultChatCommunicationSecurity.level
                  type: string
                  default: secure
                  enum:
                  - secure
                  - insecure
                acknowledgedBy:
                  description: ID of User
                  type: string
                  pattern: '[0-9a-f]'
                  minLength: 24
                  maxLength: 24
                acknowledgedAt:
                  description: settings.communication.defaultChatCommunicationSecurity.acknowledgedAt
                  type: string
                  format: date-time
            useFacilityPhoneAsFromNumber:
              description: settings.communication.useFacilityPhoneAsFromNumber
              type: boolean
            useFacilityAlternativePhoneAsFromNumber:
              description: settings.communication.useFacilityAlternativePhoneAsFromNumber
              type: boolean
            useFacilityNumberFallback:
              type: object
              properties:
                enabled:
                  description: settings.communication.useFacilityNumberFallback.enabled
                  type: boolean
                phone:
                  description: settings.communication.useFacilityNumberFallback.phone
                  type: string
            unsubscribedMessages:
              description: settings.communication.unsubscribedMessages
              type: array
              default:
              - email.providerPatientCancelled
              - sms.providerPatientCancelled
              - email.providerNewInboundChatActivity
              - inapp.providerNewInboundChatActivity
              - email.providerPatientDoNotContact
              - inapp.patientIntakeFormCompleted
              - email.patientIntakeFormCompleted
              - inapp.providerPatientInsuranceUpload
              - email.providerPatientInsuranceUpload
              - inapp.providerReferralCalled
              - email.providerReferralCalled
              - inapp.providerReferralIncomplete
              - inapp.providerOutreachCalled
              - email.providerOutreachCalled
              - inapp.providerOutreachIncomplete
              - email.provider:Incomplete
              - inapp.providerOutboundReferralIncomplete
              - email.providerOutboundReferralIncomplete
              - inapp.providerReferralExpired
              - email.providerReferralExpired
              - inapp.providerReferralCalledLate
              - email.providerReferralCalledLate
              - inapp.providerOutreachExpired
              - email.providerOutreachExpired
              - inapp.providerOutreachCalledLate
              - email.providerOutreachCalledLate
              - inapp.providerOutboundReferralCalledLate
              - email.providerOutboundReferralCalledLate
              - inapp.patientAddedToWaitlist
              - inapp.providerApptOfferSearchStarted
              - email.providerApptOfferSearchStarted
              - inapp.providerFailedToFind
              - email.providerFailedToFind
              - inapp.providerOfferSearchCancelled
              - email.providerOfferSearchCancelled
              - inapp.providerPatientCancelled
              - email.providerPatientCancelled
              - email.newReferralCreated
              - inapp.patientAutoRemovedWaitlist
              - email.patientAutoRemovedWaitlist
              - email.broadcastFailed
              - email.staffLumabotQuestionAnswered
            blockedContacts:
              description: settings.communication.blockedContacts
              type: array
              default: []
            limitedContacts:
              description: settings.communication.limitedContacts
              type: array
              default: []
            expirePatientData:
              type: object
              properties:
                enabled:
                  description: settings.communication.expirePatientData.enabled
                  type: boolean
                maxAgeInDays:
                  description: settings.communication.expirePatientData.maxAgeInDays
                  type: number
                  default: 14
            urlReplacers:
              description: settings.communication.urlReplacers
              type: array
              items:
                type: object
                properties:
                  find:
                    description: find
                    type: string
                  replace:
                    description: replace
                    type: string
                  _id:
                    description: _id
                    type: string
                    pattern: '[0-9a-f]'
                    minLength: 24
                    maxLength: 24
            disableAutomaticLinkShortening:
              description: settings.communication.disableAutomaticLinkShortening
              type: boolean
            filterPatientMessageHistory:
              description: settings.communication.filterPatientMessageHistory
              type: array
            staffDisabledChannels:
              description: settings.communication.staffDisabledChannels
              type: array
              items:
                type: string
                enum:
                - sms
                - voice
                - email
                - fax
                - whatsapp
              default: []
            reopenChatsForUnclassifiedReplies:
              description: settings.communication.reopenChatsForUnclassifiedReplies
              type: boolean
              default: true
            minLengthToReopenChat:
              description: settings.communication.minLengthToReopenChat
              type: number
              default: 15
            minLengthToReopenChatPerTemplate:
              description: settings.communication.minLengthToReopenChatPerTemplate
              type: mixed
            reopenChatsWithStatusUnassigned:
              description: settings.communication.reopenChatsWithStatusUnassigned
              type: boolean
              default: true
            sendAfterHoursMessageForInboundChats:
              description: settings.communication.sendAfterHoursMessageForInboundChats
              type: boolean
              default: true
            broadcastSkipPatientLookup:
              description: settings.communication.broadcastSkipPatientLookup
              type: boolean
            officeHoursPerDay:
              description: settings.communication.officeHoursPerDay
              type: array
              items:
                type: object
                properties:
                  weekDay:
                    description: weekDay
                    type: number
                  beginAt:
                    description: beginAt
                    type: number
                  endAt:
                    description: endAt
                    type: number
                  _id:
                    description: _id
                    type: string
                    pattern: '[0-9a-f]'
                    minLength: 24
                    maxLength: 24
              default:
              - beginAt: 500
                endAt: 1600
                weekDay: 0
              - beginAt: 500
                endAt: 1600
                weekDay: 1
              - beginAt: 500
                endAt: 1600
                weekDay: 2
              - beginAt: 500
                endAt: 1600
                weekDay: 3
              - beginAt: 500
                endAt: 1600
                weekDay: 4
              - beginAt: 500
                endAt: 1600
                weekDay: 5
              - beginAt: 500
                endAt: 1600
                weekDay: 6
            customHolidays:
              description: settings.communication.customHolidays
              type: object
              properties:
                dates:
                  description: settings.communication.customHolidays.dates
                  type: array
                  items:
                    type: object
                    properties:
                      date:
                        description: date
                        type: string
                        format: date-time
                      description:
                        description: description
                        type: string
                      closed:
                        description: closed
                        type: boolean
                      sendAppointmentReminders:
                        description: sendAppointmentReminders
                        type: string
                        enum:
                        - before
                        - as-scheduled
                      sendReferralReminders:
                        description: sendReferralReminders
                        type: string
                        enum:
                        - after
                        - as-scheduled
                      _id:
                        description: _id
                        type: string
                        pattern: '[0-9a-f]'
                        minLength: 24
                        maxLength: 24
            officeHours:
              type: object
              properties:
                beginAt:
                  description: settings.communication.officeHours.beginAt
                  type: number
                  default: 5
                endAt:
                  description: settings.communication.officeHours.endAt
                  type: number
                  default: 16
            numberMasking:
              type: object
              properties:
                enabled:
                  description: settings.communication.numberMasking.enabled
                  type: boolean
            emailMasking:
              type: object
              properties:
                enabled:
                  description: settings.communication.emailMasking.enabled
                  type: boolean
                fromName:
                  description: settings.communication.emailMasking.fromName
                  type: string
                fromEmail:
                  description: settings.communication.emailMasking.fromEmail
                  type: string
            contactVerification:
              type: object
              properties:
                enabled:
                  description: settings.communication.contactVerification.enabled
                  type: boolean
                  default: true
            patientInitiatedTexting:
              type: object
              properties:
                enabled:
                  description: settings.communication.patientInitiatedTexting.enabled
                  type: boolean
                lookupCallerId:
                  description: settings.communication.patientInitiatedTexting.lookupCallerId
                  type: boolean
                useRandomNumbersAsGeneratedName:
                  description: settings.communication.patientInitiatedTexting.useRandomNumbersAsGeneratedName
                  type: boolean
            searchByToAndFrom:
              description: settings.communication.searchByToAndFrom
              type: boolean
            systemMessagesExpiration:
              type: object
              properties:
                enabled:
                  description: settings.communication.systemMessagesExpiration.enabled
                  type: boolean
                value:
                  description: settings.communication.systemMessagesExpiration.value
                  type: number
                unit:
                  description: settings.communication.systemMessagesExpiration.unit
                  type: string
                  enum:
                  - years
                  - months
                  - weeks
                  - days
                  - hours
            inboundMessageReplies:
              type: object
              properties:
                length:
                  description: settings.communication.inboundMessageReplies.length
                  type: number
                  default: 16
                keys:
                  description: settings.communication.inboundMessageReplies.keys
                  type: array
                  default:
                  - broadcastMessage
            outboundMessages:
              type: object
              properties:
                allowRetries:
                  description: settings.communication.outboundMessages.allowRetries
                  type: boolean
                  default: true
                skipSmsToLandline:
                  description: settings.communication.outboundMessages.skipSmsToLandline
                  type: boolean
                allowSmsOverLongCode:
                  type: object
                  properties:
                    enabled:
                      description: settings.communication.outboundMessages.allowSmsOverLongCode.enabled
                      type: boolean
                multiChannelRetries:
                  type: object
                  properties:
                    enabled:
                      description: settings.communication.outboundMessages.multiChannelRetries.enabled
                      type: boolean
                    shouldSmsNumberBeRetriedAsVoice:
                      type: object
                      properties:
                        enabled:
                          description: settings.communication.outboundMessages.multiChannelRetries.shouldSmsNumberBeRetriedAsVoice.enabled
                          type: boolean
                    channels:
                      description: settings.communication.outboundMessages.multiChannelRetries.channels
                      type: array
                      items:
                        type: string
                        enum:
                        - sms
                        - voice
                        - email
                        - fax
                        - whatsapp
                    failuresToIgnoreByChannel:
                      description: settings.communication.outboundMessages.multiChannelRetries.failuresToIgnoreByChannel
                      type: array
                      items:
                        type: string
                        enum:
                        - sms
                        - voice
                        - email
                        - fax
                        - whatsapp
                      default: []
                    refs:
                      description: settings.communication.outboundMessages.multiChannelRetries.refs
                      type: array
                    number:
                      description: settings.communication.outboundMessages.multiChannelRetries.number
                      type: number
                      default: 1
            filterChatsByGroupsFacilities:
              description: settings.communication.filterChatsByGroupsFacilities
              type: boolean
            suppressMessagesByProvisioning:
              description: settings.communication.suppressMessagesByProvisioning
              type: boolean
            sortMessagesBy:
              description: settings.communication.sortMessagesBy
              type: string
              default: unreadMessages
              enum:
              - unreadMessages
              - priorityUpdatedAt
            chatAssignmentOnHubSend:
              description: settings.communication.chatAssignmentOnHubSend
              type: string
              default: reassign
              enum:
              - reassign
              - keepAssignee
            chatAssignmentOnProfileSend:
              description: settings.communication.chatAssignmentOnProfileSend
              type: string
              default: reassign
              enum:
              - reassign
              - keepAssignee
            useFixedNumber:
              type: object
              properties:
                enabled:
                  description: settings.communication.useFixedNumber.enabled
                  type: boolean
                vendor:
                  description: settings.communication.useFixedNumber.vendor
                  type: string
                  default: twilio
                  enum:
                  - twilio
                  - bandwidth
                number:
                  description: settings.communication.useFixedNumber.number
                  type: string
                allowAutoReplacement:
                  description: settings.communication.useFixedNumber.allowAutoReplacement
                  type: boolean
                  default: true
                numbers:
                  description: settings.communication.useFixedNumber.numbers
                  type: array
                  items:
                    type: object
                    properties:
                      enabled:
                        description: enabled
                        type: boolean
                      default:
                        description: default
                        type: boolean
                      vendor:
    

# --- truncated at 32 KB (91 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/luma-health/refs/heads/main/openapi/luma-health-settings-api-openapi.yml