Luma Health Lumabot Flows API

LumaBot Flows answered by patients

Operations 12

GET /lumabotFlows Show a list of lumabotFlows #
POST /lumabotFlows Create a lumabot flow #
GET /lumabotFlows/sessions Get a list of LumaBot unique sessions #
GET /lumabotFlows/{lumabotFlowId} Get lumabotFlow by id #
PUT /lumabotFlows/{lumabotFlowId} Update a lumabotFlow #
DELETE /lumabotFlows/{lumabotFlowId} Delete a lumabotFlow #
GET /lumabotFlows/{lumabotFlowId}/currentQuestion Get current question(s) of a lumabotFlow #
GET /lumabotFlows/{lumabotFlowId}/pdf Get responses of a lumabotFlow in PDF format. #
GET /lumabotFlows/{lumabotFlowId}/responses Get responses of a lumabotFlow and its subsequent flows. #
GET /lumabotFlows/{lumabotFlowId}/snapshot Get responses of a lumabotFlow and its subsequent flows in a question/answer format. #
POST /lumabotFlows/{lumabotFlowId}/answer Answer the current question of a lumabot flow #
DELETE /lumabotFlows/{lumabotFlowId}/answer/{itemId} Delete a lumabotFlow answer #

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-lumabotflows-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-lumabotflows-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 2.0.0
  title: Rest-Service Lumabot Flows 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: lumabotFlows
  description: LumaBot Flows answered by patients
paths:
  /lumabotFlows:
    get:
      summary: Show a list of lumabotFlows
      operationId: listLumabotFlows
      tags:
      - lumabotFlows
      parameters:
      - name: patient
        in: query
        description: the ID of the patient who filled out the answers for this flow.
        schema:
          type: string
          pattern: '[0-9a-f]'
          minLength: 24
          maxLength: 24
      - name: status
        in: query
        description: 'The completion status of the lumabot flow under the patient''s perspective, knowingly:

          - `started`: when the patient started answering at least one question, but hasn''t finished the flow yet;

          - `completed`: the patient has finished answering all the questions and cannot edit the flow anymore.

          '
        schema:
          type: string
          enum:
          - started
          - completed
      - name: completedAt
        in: query
        description: the date/time when the patient finished all the responses of this flow.
        schema:
          type: string
          flowat: date-time
      - name: appointment
        in: query
        description: the ID of an appointment related to this flow.
        schema:
          type: string
          pattern: '[0-9a-f]'
          minLength: 24
          maxLength: 24
      - name: fileUpload
        in: query
        description: the ID of a fileUpload related to this flow.
        schema:
          type: string
          pattern: '[0-9a-f]'
          minLength: 24
          maxLength: 24
      - name: url
        in: query
        description: 'deprecated: custom lumabot flow url, basically to identify any patient in survey monkey,

          an external flows service that''s not being used anymore by Luma.

          '
        schema:
          type: string
      - name: currentItemId
        in: query
        description: 'The code of the current question the patient was last shown, before answering it.

          Such a code must be the content of any `questions[x].id`, or `success`.

          Usually this will contain each id, in sequence, but patients can go back and forth.

          Also, flows can have jump logic, and some questions might not be displayed to the patient.

          When the flow is completed, this is updated to `success`.

          '
        schema:
          type: string
      - name: lumabotFlowTemplate
        in: query
        description: the ID of the template of questions that was displayed for the patient.
        schema:
          type: string
          pattern: '[0-9a-f]'
          minLength: 24
          maxLength: 24
      - name: lumabotFlowTemplateName
        in: query
        description: the name of the template of questions used as a basis for these flow answers. See `lumabotFlowTemplates`.
        schema:
          type: string
      - name: language
        in: query
        description: The language in which the flow was answered by the patient.
        schema:
          type: string
          enum:
          - en
          - es
          - pt
      - name: accessedFrom
        in: query
        description: IP address of the patient who filled out the flow.
        schema:
          type: string
      - name: previousLumabotFlow
        in: query
        description: 'PreviousLumabotFlow and nextLumabotFlow will be used to make it possible for flows

          to be able to jump to another flow with another template so we can reduce the number of

          unecessary questions in a single flow, which should help with organization and performance.

          One flow must call the jump template, at which time we create a new lumabotFlow and set

          the previous flow ID on its `previousLumabotFlow` property.

          '
      - name: nextLumabotFlow
        in: query
        description: 'PreviousLumabotFlow and nextLumabotFlow will be used to make it possible for flows

          to be able to jump to another flow with another template so we can reduce the number of

          unecessary questions in a single flow, which should help with organization and performance.

          One flow must call the jump template, at which time we create a new lumabotFlow and set

          the new flow ID on the first flow''s `nextLumabotFlow` property.

          '
        schema:
          type: string
      - $ref: '#/components/parameters/userParam'
      - $ref: '#/components/parameters/deletedParam'
      - $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: Returns a list of lumabotFlows
          content:
            application/json:
              schema:
                type: object
                required:
                - response
                - page
                - size
                properties:
                  response:
                    type: array
                    minItems: 0
                    items:
                      $ref: '#/components/schemas/LumabotFlowResponse'
                  page:
                    type: integer
                    flowat: int32
                    minimum: 1
                  size:
                    type: integer
                    flowat: int32
                    minimum: 0
                additionalProperties: false
        '401':
          description: Not authenticated
        '403':
          description: Access token does not have the required scope
        default:
          description: unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    post:
      summary: Create a lumabot flow
      operationId: lumabotFlowCreate
      tags:
      - lumabotFlows
      parameters:
      - name: flowType
        in: query
        description: If you don't provide the lumabotFlowTemplate for the new flow, the system will pick a template based on the type specified here.
        schema:
          type: string
          enum:
          - welcome
          - authenticate-patient
          - speak-with-staff
          - session-timeout
          - knock-knock
          - cul-de-sac
          - feedback
          - error
          - no-availabilities
          - regular
      requestBody:
        description: Create a lumabot flow
        required: true
        content:
          application:json:
            schema:
              $ref: '#/components/schemas/LumabotFlowRequest'
      responses:
        '201':
          description: Successful creation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LumabotFlowResponse'
        '401':
          description: Not authenticated
        '403':
          description: Access token does not have the required scope
  /lumabotFlows/sessions:
    get:
      summary: Get a list of LumaBot unique sessions
      operationId: lumabotFlowGetSessions
      tags:
      - lumabotFlows
      parameters:
      - name: patient
        in: query
        description: the ID of the patient who filled out the answers for this flow.
        schema:
          type: string
          pattern: '[0-9a-f]'
          minLength: 24
          maxLength: 24
      - name: status
        in: query
        description: 'The completion status of the lumabot flow under the patient''s perspective, knowingly:

          - `started`: when the patient started answering at least one question, but hasn''t finished the flow yet;

          - `completed`: the patient has finished answering all the questions and cannot edit the flow anymore.

          '
        schema:
          type: string
          enum:
          - started
          - completed
      - name: completedAt
        in: query
        description: the date/time when the patient finished all the responses of this flow.
        schema:
          type: string
          flowat: date-time
      - name: lumabotFlowTemplate
        in: query
        description: the ID of the template of questions that was displayed for the patient.
        schema:
          type: string
          pattern: '[0-9a-f]'
          minLength: 24
          maxLength: 24
      - name: lumabotFlowTemplateName
        in: query
        description: the name of the template of questions used as a basis for these flow answers. See `lumabotFlowTemplates`.
        schema:
          type: string
      - name: language
        in: query
        description: The language in which the flow was answered by the patient.
        schema:
          type: string
          enum:
          - en
          - es
          - pt
      - name: accessedFrom
        in: query
        description: IP address of the patient who filled out the flow.
        schema:
          type: string
      - $ref: '#/components/parameters/userParam'
      - $ref: '#/components/parameters/deletedParam'
      - $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: Returns a list of lumabotFlows that started a session
          content:
            application/json:
              schema:
                type: object
                required:
                - response
                - page
                - size
                properties:
                  response:
                    type: array
                    minItems: 0
                    items:
                      $ref: '#/components/schemas/LumabotFlowResponse'
                  page:
                    type: integer
                    flowat: int32
                    minimum: 1
                  size:
                    type: integer
                    flowat: int32
                    minimum: 0
                additionalProperties: false
        '401':
          description: Not authenticated
        '403':
          description: Access token does not have the required scope
  /lumabotFlows/{lumabotFlowId}:
    get:
      summary: Get lumabotFlow by id
      operationId: lumabotFlowGet
      tags:
      - lumabotFlows
      parameters:
      - name: lumabotFlowId
        in: path
        required: true
        description: LumabotFlows' unique identifier in Luma's database.
        schema:
          type: string
          pattern: '[0-9a-f]'
          minLength: 24
          maxLength: 24
      responses:
        '200':
          description: LumabotFlow
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LumabotFlowResponse'
        '401':
          description: Not authenticated
        '403':
          description: Access token does not have the required scope
    put:
      summary: Update a lumabotFlow
      operationId: lumabotFlowUpdate
      tags:
      - lumabotFlows
      parameters:
      - name: lumabotFlowId
        in: path
        required: true
        description: LumabotFlows' unique identifier in Luma's database.
        schema:
          type: string
          pattern: '[0-9a-f]'
          minLength: 24
          maxLength: 24
      requestBody:
        description: A lumabotFlow (full or partial) to be updated
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LumabotFlowRequest'
      responses:
        '200':
          description: LumabotFlow
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LumabotFlowResponse'
        '401':
          description: Not authenticated
        '403':
          description: Access token does not have the required scope
    delete:
      summary: Delete a lumabotFlow
      operationId: lumabotFlowDelete
      tags:
      - lumabotFlows
      parameters:
      - name: lumabotFlowId
        in: path
        required: true
        description: LumabotFlows' unique identifier in Luma's database.
        schema:
          type: string
          pattern: '[0-9a-f]'
          minLength: 24
          maxLength: 24
      responses:
        '200':
          description: Deleted lumabotFlow
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LumabotFlowResponse'
        '401':
          description: Not authenticated
        '403':
          description: Access token does not have the required scope
  /lumabotFlows/{lumabotFlowId}/currentQuestion:
    get:
      summary: Get current question(s) of a lumabotFlow
      operationId: lumabotFlowGetCurrentQuestion
      tags:
      - lumabotFlows
      parameters:
      - name: lumabotFlowId
        in: path
        required: true
        description: LumabotFlows' unique identifier in Luma's database.
        schema:
          type: string
          pattern: '[0-9a-f]'
          minLength: 24
          maxLength: 24
      responses:
        '200':
          description: LumabotFlow's one or more current questions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LumabotFlowQuestionResponse'
        '401':
          description: Not authenticated
        '403':
          description: Access token does not have the required scope
  /lumabotFlows/{lumabotFlowId}/pdf:
    get:
      summary: Get responses of a lumabotFlow in PDF format.
      operationId: lumabotFlowGetPdf
      tags:
      - lumabotFlows
      parameters:
      - name: lumabotFlowId
        in: path
        required: true
        description: LumabotFlows' unique identifier in Luma's database.
        schema:
          type: string
          pattern: '[0-9a-f]'
          minLength: 24
          maxLength: 24
      responses:
        '200':
          description: Returns a PDF with the LumaBot flow responses.
          content:
            application/pdf:
              schema:
                type: string
                format: binary
                additionalProperties: false
        '401':
          description: Not authenticated
        '403':
          description: Access token does not have the required scope
  /lumabotFlows/{lumabotFlowId}/responses:
    get:
      summary: Get responses of a lumabotFlow and its subsequent flows.
      operationId: lumabotFlowGetResponses
      tags:
      - lumabotFlows
      parameters:
      - name: lumabotFlowId
        in: path
        required: true
        description: LumabotFlows' unique identifier in Luma's database.
        schema:
          type: string
          pattern: '[0-9a-f]'
          minLength: 24
          maxLength: 24
      responses:
        '200':
          description: Returns the list of responses of the lumabotFlow and its subsequent flows.
          content:
            application/json:
              schema:
                type: object
                required:
                - response
                - page
                - size
                properties:
                  response:
                    type: array
                    minItems: 0
                    items:
                      $ref: '#/components/schemas/LumabotFlowResponsesResponse'
                  page:
                    type: integer
                    flowat: int32
                    minimum: 1
                  size:
                    type: integer
                    flowat: int32
                    minimum: 0
                additionalProperties: false
        '401':
          description: Not authenticated
        '403':
          description: Access token does not have the required scope
  /lumabotFlows/{lumabotFlowId}/snapshot:
    get:
      summary: Get responses of a lumabotFlow and its subsequent flows in a question/answer format.
      operationId: lumabotFlowGetSnapshot
      tags:
      - lumabotFlows
      parameters:
      - name: lumabotFlowId
        in: path
        required: true
        description: LumabotFlows' unique identifier in Luma's database.
        schema:
          type: string
          pattern: '[0-9a-f]'
          minLength: 24
          maxLength: 24
      responses:
        '200':
          description: Returns the list of responses of the lumabotFlow and its subsequent flows in a question/answer format.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LumabotFlowSnapshotResponse'
        '401':
          description: Not authenticated
        '403':
          description: Access token does not have the required scope
  /lumabotFlows/{lumabotFlowId}/answer:
    post:
      summary: Answer the current question of a lumabot flow
      operationId: lumabotFlowAnswer
      tags:
      - lumabotFlows
      parameters:
      - name: lumabotFlowId
        in: path
        required: true
        description: LumabotFlows' unique identifier in Luma's database.
        schema:
          type: string
          pattern: '[0-9a-f]'
          minLength: 24
          maxLength: 24
      requestBody:
        description: A lumabotFlow answer (full or partial) to be created
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LumabotFlowAnswerRequest'
      responses:
        '200':
          description: LumabotFlow new current questions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LumabotFlowQuestionResponse'
        '401':
          description: Not authenticated
        '403':
          description: Access token does not have the required scope
  /lumabotFlows/{lumabotFlowId}/answer/{itemId}:
    delete:
      summary: Delete a lumabotFlow answer
      operationId: lumabotFlowAnswerDelete
      tags:
      - lumabotFlows
      parameters:
      - name: lumabotFlowId
        in: path
        required: true
        description: LumabotFlows' unique identifier in Luma's database.
        schema:
          type: string
          pattern: '[0-9a-f]'
          minLength: 24
          maxLength: 24
      - name: itemId
        in: path
        required: true
        description: The unique identifier of the question whose answer you want to delete.
        schema:
          type: string
      responses:
        '200':
          description: LumabotFlow new current questions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LumabotFlowQuestionResponse'
        '401':
          description: Not authenticated
        '403':
          description: Access token does not have the required scope
components:
  parameters:
    pageParam:
      in: query
      name: page
      required: false
      type: integer
      format: int32
      default: 1
      minimum: 1
      schema:
        type: integer
        format: int32
        default: 1
        minimum: 1
    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.
    updatedAtParam:
      in: query
      name: updatedAt
      type: string
      format: date-time
      schema:
        type: string
        format: date-time
      required: false
      description: The date/time when this object was updated.
    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.
    populateParam:
      name: _populate
      in: query
      description: Response properties which will be replaced by the referenced objects, separated by commas.
      required: false
      type: string
      schema:
        type: string
    selectParam:
      name: _select
      in: query
      description: Response properties that should be returned, separated by commas.
      required: false
      type: string
      schema:
        type: string
    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.
    limitParam:
      name: limit
      in: query
      description: How many items to fetch per page
      required: false
      type: integer
      format: int32
      default: 500
      minimum: 1
      maximum: 1000
      schema:
        type: integer
        format: int32
        default: 500
        minimum: 1
        maximum: 1000
    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.
  schemas:
    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.
    Error:
      type: object
      required:
      - code
      - message
      properties:
        code:
          type: integer
          format: int32
        message:
          type: string
    LumabotFlowAnswerRequest:
      type: object
      properties:
        id:
          description: itemId of the answer if selecting a multiple-choice option
          type: string
        text:
          description: Simple text answer or a summary of the answer (in case of complex answers) to show on reports and hub
          type: string
        details:
          description: Complex object containing details of a complex answer, like appointment details or address, for example
          type: object
    LumabotFlowRequest:
      type: object
      properties:
        patient:
          description: the ID of the patient who filled out the answers for this form.
          type: string
          pattern: '[0-9a-f]'
          minLength: 24
          maxLength: 24
        status:
          description: 'The completion status of the lumabot flow under the patient''s perspective, knowingly:

            - `started`: when the patient started answering at least one question, but hasn''t finished the form yet;

            - `completed`: the patient has finished answering all the questions and cannot edit the form anymore.

            '
          type: string
          default: started
          enum:
          - started
          - completed
        flowType:
          description: type of the lumabot flow template
          type: string
          enum:
          - welcome
          - authenticate-patient
          - speak-with-staff
          - session-timeout
          - knock-knock
          - cul-de-sac
          - feedback
          - error
          - no-availabilities
          - regular
        completedAt:
          description: the date/time when the patient finished all the responses of this form.
          type: string
          format: date-time
        processingStatus:
          description: 'The internal staff''s management status for a completed flow, serving the purpose of organizing which answers were analysed by a staff member or not.

            - `open`: the flow was completed by a patient but not seen by any staff member yet;

            - `in-progress`: a staff user is analysing the answers;

            - `closed`: the flow has been completely analysed by a member of the staff team.

            '
          type: string
          default: open
          enum:
          - open
          - in-progress
          - closed
        processingStatusUpdatedBy:
          description: the ID of a staff `user` who analysed the responses of this completed flow and changed its `processingStatus`.
          type: string
          pattern: '[0-9a-f]'
          minLength: 24
          maxLength: 24
        processingStatusUpdatedAt:
          description: the date/time when a staff `user` analysed the responses of this completed flow and changed its `processingStatus`.
          type: string
          format: date-time
        appointment:
          description: the ID of an appointment related to this form.
          type: string
          pattern: '[0-9a-f]'
          minLength: 24
          maxLength: 24
        url:
          description: 'deprecated: custom lumabot flow url, basically to identify any patient in survey monkey,

            an external forms service that''s not being used anymore by Luma.

            '
          type: string
        currentItemId:
          description: 'The code of the current question the patient was last shown, before answering it.

            Such a code must be the content of any `responses.page[0].questions[x].id`, or `success`.

            Usually this will contain each id, in sequence, but patients can go back and forth.

            Also, forms can have jump logic, and some questions might not be displayed to the patient.

            When the form is completed, this is updated to `success`.

            '
          type: string
        lumabotFlowTemplate:
          description: the ID of the template of questions that was displayed for the patient.
          type: string
          pattern: '[0-9a-f]'
          required: true
          minLength: 24
          maxLength: 24
        lumabotFlowTemplateName:
          description: the name of the template of questions used as a basis for these form answers. See `lumabotFlowTemplates`.
          type: string
        language:
          description: The language in which the form was answered by the patient.
          type: string
          enum:
          - en
          - es
          - pt
        accessedFrom:
          description: IP address of the patient who filled out the form.
          type: string
        previousLumabotFlow:
          description: 'PreviousLumabotFlow and nextLumabotFlow will be used to make it possible for forms

            to be able to jump to another form with another template so we can reduce the number of

            unecessary questions in a single form, which should help with organization and performance.

            One form must call the jump template, at which time we create a new lumabotFlow and set

            the previous form ID on its `previousLumabotFlow` property.

            '
          type: string
          pattern: '[0-9a-f]'
          minLength: 24
          maxLength: 24
        nextLumabotFlow:
          description: 'PreviousLumabotFlow and nextLumabotFlow will be used to make it possible for forms

            to be able to jump to another form with another template so we can reduce the number of

            unecessary questions in a single form, which should help with organization and performance.

            One form must call the jump template, at which time we create a new lumabotFlow and set

            the new form ID on the first form''s `nextLumabotFlow` property.

            '
          type: string
          pattern: '[0-9a-f]'
          minLength: 24
          maxLength: 24
        questions:
          description: Contains information about the questions and answers given by the patient.
          type: array
          items:
            type: object
            properties:
              answer:
                type: object
                properties:
                  id:
                    type: string
                  text:
                    type: string
                  createdAt:
                    type: date-time
                  details:
                    type: object
              askedAt:
                type: date-time
              id:
                type: string
              type:
                type: string
              squiggly:
                type: string
              title:
                type: string
              redirectType:
                type: string
                enum:
                - none
                - goTo
                - goToFlow
                - goToPrevious
                - isFinal
                - externalUrl
                - scheduler
              redirectValue:
                type: string
              validations:
                type: object
                properties:
                  required:
                    type: boolean
              properties:
                type: object
                properties:
                  template:
                    type: string
        availabilities:
          description: availabilities
          type: array
          items:
            type: string
            pattern: '[0-9a-f]'
            minLength: 24
            maxLength: 24
        facilities:
          description: facilities
          type: array
          items:
            type: string
            pattern: '[0-9a-f]'
            minLength: 24
            maxLength: 24
    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.
    LumabotFlowSnapshotResponse:
      type: object
      description: This resource is a read only, point in time snapshot of a completed or in progress Lumabot conversation, presented as a simple transcript of messages exchanged between the patient and the chatbot along with when the conversation started and ended. Unlike the editable flow template or the live flow object, this snapshot is a fixed record meant for display or auditing rather than further modification. It is used to let staff or systems review exactly what was said during a specific patient interaction such as an intake or screening session.
      properties:
        id:
          type: string
          pattern: '[0-9a-f]'
          minLength: 24
          maxLength: 24
        title:
          type: string
        startDate:
          type: string
          format: date-time
        endDate:
          type: string
          format: date-time
        messages:
          type: array
          items:
            type: object
            properties:
              text:
                type: string
              createdAt:
                type: string
                format: date-time
              source:
                type: string
                enum:
                - patient
                - lumabot
    LumabotFlowQuestionResponse:
      type: object
      description: This resource represents a single question within a Lumabot conversational flow, including its type such as text, date, multiple choice, phone number, or scheduler, along with its title, validation rules, answer options, and redirect logic that determine

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