Luma Health Patient Form Templates API

Templates from patient forms

Operations 6

GET /patientFormTemplates Show a list of patientFormTemplates #
POST /patientFormTemplates Create a patientFormTemplate #
GET /patientFormTemplates/{patientFormTemplateId} Get patientFormTemplate by id #
PUT /patientFormTemplates/{patientFormTemplateId} Update a patientFormTemplate #
DELETE /patientFormTemplates/{patientFormTemplateId} Delete a patientFormTemplate #
GET /patientFormTemplates/docusign/template Get list of DocuSign accounts availables #

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-patientformtemplates-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-patientformtemplates-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 2.0.0
  title: Rest-Service Patient Form Templates 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: patientFormTemplates
  description: Templates from patient forms
paths:
  /patientFormTemplates:
    get:
      summary: Show a list of patientFormTemplates
      operationId: listPatientFormTemplates
      tags:
      - patientFormTemplates
      parameters:
      - name: source
        in: query
        description: of the patient form template
        schema:
          type: string
          enum:
          - system
          - user
      - name: externalId
        in: query
        description: The ID of externalId
        schema:
          type: string
          pattern: '[0-9a-f]'
          minLength: 24
          maxLength: 24
      - name: description
        in: query
        description: description of the patient form template
        schema:
          type: string
      - name: type
        in: query
        description: type of the patient form template
        schema:
          type: string
          enum:
          - pre-qualification
          - intake
          - feedback
          - ccda
      - name: active
        in: query
        description: active
        schema:
          type: boolean
      - name: url
        in: query
        description: url of the patient form template
        schema:
          type: string
      - name: tag
        in: query
        description: tag of the patient form template
        schema:
          type: string
      - name: integratorMapping
        in: query
        description: integratorMapping
        schema:
          type: string
      - name: calculation
        in: query
        description: calculation
        schema:
          type: string
      - name: finalDispositionCalculation
        in: query
        description: finalDispositionCalculation
        schema:
          type: string
      - name: schedulerRequestInterceptor
        in: query
        description: schedulerRequestInterceptor
        schema:
          type: string
      - name: schedulerResponseInterceptor
        in: query
        description: schedulerResponseInterceptor
        schema:
          type: string
      - name: htmlPdfTemplateHeader
        in: query
        description: htmlPdfTemplateHeader
        schema:
          type: string
      - name: htmlPdfTemplateBody
        in: query
        description: htmlPdfTemplateBody of the patient form template
        schema:
          type: string
      - name: htmlPdfTemplateFooter
        in: query
        description: htmlPdfTemplateFooter of the patient form template
        schema:
          type: string
      - name: lumabot
        in: query
        description: lumabot
        schema:
          type: string
      - name: sendToDirectMessageEmail
        in: query
        description: sendToDirectMessageEmail
        schema:
          type: string
      - name: lumaBotFlow
        in: query
        description: lumaBotFlow
        schema:
          type: string
          enum:
          - welcome
          - authenticate-patient
          - speak-with-staff
          - session-timeout
          - knock-knock
          - cul-de-sac
          - feedback
      - $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 patientFormTemplates
          content:
            application/json:
              schema:
                type: object
                required:
                - response
                - page
                - size
                properties:
                  response:
                    type: array
                    minItems: 0
                    items:
                      $ref: '#/components/schemas/PatientFormTemplateResponse'
                  page:
                    type: integer
                    format: int32
                    minimum: 1
                  size:
                    type: integer
                    format: 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 patientFormTemplate
      operationId: patientFormTemplateCreate
      tags:
      - patientFormTemplates
      requestBody:
        description: Create a patientFormTemplate
        required: true
        content:
          application:json:
            schema:
              $ref: '#/components/schemas/PatientFormTemplateRequestCreate'
      responses:
        '201':
          description: Successful creation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatientFormTemplateResponse'
        '401':
          description: Not authenticated
        '403':
          description: Access token does not have the required scope
  /patientFormTemplates/{patientFormTemplateId}:
    get:
      summary: Get patientFormTemplate by id
      operationId: patientFormTemplateGet
      tags:
      - patientFormTemplates
      parameters:
      - name: patientFormTemplateId
        in: path
        required: true
        description: PatientFormTemplates' unique identifier in Luma's database.
        schema:
          type: string
          pattern: '[0-9a-f]'
          minLength: 24
          maxLength: 24
      responses:
        '200':
          description: PatientFormTemplate
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatientFormTemplateResponse'
        '401':
          description: Not authenticated
        '403':
          description: Access token does not have the required scope
    put:
      summary: Update a patientFormTemplate
      operationId: patientFormTemplateUpdate
      tags:
      - patientFormTemplates
      parameters:
      - name: patientFormTemplateId
        in: path
        required: true
        description: PatientFormTemplates' unique identifier in Luma's database.
        schema:
          type: string
          pattern: '[0-9a-f]'
          minLength: 24
          maxLength: 24
      requestBody:
        description: A patientFormTemplate (full or partial) to be updated
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatientFormTemplateRequestUpdate'
      responses:
        '200':
          description: PatientFormTemplate
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatientFormTemplateResponse'
        '401':
          description: Not authenticated
        '403':
          description: Access token does not have the required scope
    delete:
      summary: Delete a patientFormTemplate
      operationId: patientFormTemplateDelete
      tags:
      - patientFormTemplates
      parameters:
      - name: patientFormTemplateId
        in: path
        required: true
        description: PatientFormTemplates' unique identifier in Luma's database.
        schema:
          type: string
          pattern: '[0-9a-f]'
          minLength: 24
          maxLength: 24
      responses:
        '200':
          description: Deleted patientFormTemplate
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PatientFormTemplateResponse'
        '401':
          description: Not authenticated
        '403':
          description: Access token does not have the required scope
  /patientFormTemplates/docusign/template:
    get:
      summary: Get list of DocuSign accounts availables
      operationId: listDocuSign accounts
      tags:
      - patientFormTemplates
      responses:
        '200':
          description: Returns a list of DocuSign accounts that user can switch in Luma
          content:
            application/json:
              schema:
                type: object
                properties:
                  response:
                    type: array
                    minItems: 0
                    items:
                      type: object
                      properties:
                        accountId:
                          type: string
                        isDefault:
                          type: string
                        accountName:
                          type: string
                        baseUri:
                          type: string
                additionalProperties: false
        '400':
          description: Invalid credentials
          content:
            application/json:
              schema:
                type: object
                required:
                - message
                properties:
                  error:
                    type: object
                    properties:
                      message:
                        type: string
                additionalProperties: false
        '500':
          description: An unexpected error occurred
          content:
            application/json:
              schema:
                type: object
                required:
                - message
                properties:
                  error:
                    type: object
                    properties:
                      message:
                        type: string
                additionalProperties: false
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.
    PatientFormTemplateRequestUpdate:
      type: object
      properties:
        source:
          description: source of the patient form template
          type: string
          enum:
          - system
          - user
        externalId:
          description: externalId of the patient form template
          type: object
          properties:
            source:
              type: string
              enum:
              - docusign
              - hellosign
              - surveymonkey
              - luma
            id:
              type: string
              pattern: '[0-9a-f]'
              minLength: 24
              maxLength: 24
        title:
          description: title of the patient form template
          type: string
        description:
          description: description of the patient form template
          type: string
        insurance:
          description: insurance of the patient form template
          type: object
          properties:
            enabled:
              type: boolean
            id:
              type: string
              pattern: '[0-9a-f]'
              minLength: 24
              maxLength: 24
        reminder:
          description: reminder of the patient form template
          type: object
          properties:
            enabled:
              type: boolean
            id:
              type: string
              pattern: '[0-9a-f]'
              minLength: 24
              maxLength: 24
        type:
          description: type of the patient form template
          type: string
          enum:
          - pre-qualification
          - intake
          - feedback
          - ccda
        active:
          description: describes if the patient form template is active
          type: boolean
        url:
          description: url of the patient form template
          type: string
        tag:
          description: tag of the patient form template which is used to build the squiggly
          type: string
        template:
          description: template of the patient form template
          type: object
          properties:
            version:
              type: string
            welcomeScreens:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                  template:
                    type: string
                  title:
                    type: string
                  properties:
                    type: object
                    properties:
                      template:
                        type: string
                      actionLabel:
                        type: string
            items:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                  type:
                    type: string
                  squiggly:
                    type: string
                  title:
                    type: string
                  redirectType:
                    type: string
                  validations:
                    type: object
                    properties:
                      required:
                        type: boolean
                  properties:
                    type: object
                    properties:
                      addToAppointment:
                        type: boolean
                      showCustomAction:
                        type: boolean
                      includeNoneOfAboveChoice:
                        type: boolean
                      allowOtherChoice:
                        type: boolean
                      scoringEnabled:
                        type: boolean
                      visibility:
                        type: string
                      allowMultipleSelection:
                        type: boolean
                      showDescription:
                        type: boolean
                      answers:
                        type: object
                        properties:
                          id:
                            type: string
                          redirectType:
                            type: string
        integratorMapping:
          description: integratorMapping of the patient form template
          type: string
        calculation:
          description: calculation of the patient form template
          type: string
        finalDispositionCalculation:
          description: finalDispositionCalculation of the patient form template
          type: string
        schedulerRequestInterceptor:
          description: schedulerRequestInterceptor of the patient form template
          type: string
        schedulerResponseInterceptor:
          description: schedulerResponseInterceptor of the patient form template
          type: string
        htmlPdfTemplateHeader:
          description: htmlPdfTemplateHeader of the patient form template
          type: string
        htmlPdfTemplateBody:
          description: htmlPdfTemplateBody of the patient form template
          type: string
        htmlPdfTemplateFooter:
          description: htmlPdfTemplateFooter of the patient form template
          type: string
        lumabot:
          description: lumabot of the patient form template
          type: boolean
        sendToDirectMessageEmail:
          description: sendToDirectMessageEmail of the patient form template
          type: boolean
        lumaBotFlow:
          description: lumaBotFlow of the patient form template
          type: string
          enum:
          - welcome
          - authenticate-patient
          - speak-with-staff
          - session-timeout
          - knock-knock
          - cul-de-sac
          - feedback
    Error:
      type: object
      required:
      - code
      - message
      properties:
        code:
          type: integer
          format: int32
        message:
          type: string
    PatientFormTemplateRequestCreate:
      type: object
      required:
      - source
      - lumabot
      properties:
        source:
          description: source of the patient form template
          type: string
          enum:
          - system
          - user
        externalId:
          description: externalId of the patient form template
          type: object
          properties:
            source:
              type: string
              enum:
              - docusign
              - hellosign
              - surveymonkey
              - luma
            id:
              type: string
              pattern: '[0-9a-f]'
              minLength: 24
              maxLength: 24
        title:
          description: title of the patient form template
          type: string
        description:
          description: description of the patient form template
          type: string
        insurance:
          description: insurance of the patient form template
          type: object
          properties:
            enabled:
              type: boolean
            id:
              type: string
              pattern: '[0-9a-f]'
              minLength: 24
              maxLength: 24
        reminder:
          description: reminder of the patient form template
          type: object
          properties:
            enabled:
              type: boolean
            id:
              type: string
              pattern: '[0-9a-f]'
              minLength: 24
              maxLength: 24
        type:
          description: type of the patient form template
          type: string
          enum:
          - pre-qualification
          - intake
          - feedback
          - ccda
        active:
          description: describes if the patient form template is active
          type: boolean
        url:
          description: url of the patient form template
          type: string
        tag:
          description: tag of the patient form template which is used to build the squiggly
          type: string
        template:
          description: template of the patient form template
          type: object
          properties:
            version:
              type: string
            welcomeScreens:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                  template:
                    type: string
                  title:
                    type: string
                  properties:
                    type: object
                    properties:
                      template:
                        type: string
                      actionLabel:
                        type: string
            items:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                  type:
                    type: string
                  squiggly:
                    type: string
                  title:
                    type: string
                  redirectType:
                    type: string
                  validations:
                    type: object
                    properties:
                      required:
                        type: boolean
                  properties:
                    type: object
                    properties:
                      addToAppointment:
                        type: boolean
                      showCustomAction:
                        type: boolean
                      includeNoneOfAboveChoice:
                        type: boolean
                      allowOtherChoice:
                        type: boolean
                      scoringEnabled:
                        type: boolean
                      visibility:
                        type: string
                      allowMultipleSelection:
                        type: boolean
                      showDescription:
                        type: boolean
                      answers:
                        type: object
                        properties:
                          id:
                            type: string
                          redirectType:
                            type: string
        integratorMapping:
          description: integratorMapping of the patient form template
          type: string
        calculation:
          description: calculation of the patient form template
          type: string
        finalDispositionCalculation:
          description: finalDispositionCalculation of the patient form template
          type: string
        schedulerRequestInterceptor:
          description: schedulerRequestInterceptor of the patient form template
          type: string
        schedulerResponseInterceptor:
          description: schedulerResponseInterceptor of the patient form template
          type: string
        htmlPdfTemplateHeader:
          description: htmlPdfTemplateHeader of the patient form template
          type: string
        htmlPdfTemplateBody:
          description: htmlPdfTemplateBody of the patient form template
          type: string
        htmlPdfTemplateFooter:
          description: htmlPdfTemplateFooter of the patient form template
          type: string
        lumabot:
          description: lumabot of the patient form template
          type: boolean
        sendToDirectMessageEmail:
          description: sendToDirectMessageEmail of the patient form template
          type: boolean
        lumaBotFlow:
          description: lumaBotFlow of the patient form template
          type: string
          enum:
          - welcome
          - authenticate-patient
          - speak-with-staff
          - session-timeout
          - knock-knock
          - cul-de-sac
          - feedback
    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.
    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.
    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.
    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.
    PatientFormTemplateResponse:
      type: object
      description: A form template is the reusable definition of a form that staff configure once and then send to many patients, such as intake, pre-qualification, feedback, or consent forms. It defines the form content, jump logic for branching between questions, optional insurance and reminder settings, and custom scripts used to calculate results, map answers to EHR fields, or intercept scheduler requests when the form leads into booking an appointment. Each time a patient fills it out, a separate patient form instance is created from this template.
      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'
        source:
          description: source of the patient form template
          type: string
          enum:
          - system
          - user
        externalId:
          description: externalId of the patient form template
          type: object
          properties:
            source:
              type: string
              enum:
              - docusign
              - hellosign
              - surveymonkey
              - luma
            id:
              type: string
              pattern: '[0-9a-f]'
              minLength: 24
              maxLength: 24
        title:
          description: title of the patient form template
          type: string
        description:
          description: description of the patient form template
          type: string
        insurance:
          description: insurance of the patient form template
          type: object
          properties:
            enabled:
              type: boolean
            id:
              type: string
              pattern: '[0-9a-f]'
              minLength: 24
              maxLength: 24
        reminder:
          description: reminder of the patient form template
          type: object
          properties:
            enabled:
              type: boolean
            id:
              type: string
              pattern: '[0-9a-f]'
              minLength: 24
              maxLength: 24
        type:
          description: type of the patient form template
          type: string
          enum:
          - pre-qualification
          - intake
          - feedback
          - ccda
        active:
          description: describes if the patient form template is active
          type: boolean
        url:
          description: url of the patient form template
          type: string
        tag:
          description: tag of the patient form template which is used to build the squiggly
          type: string
        template:
          description: template of the patient form template
          type: object
          properties:
            version:
              type: string
            welcomeScreens:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                  template:
                    type: string
                  title:
                    type: string
                  properties:
                    type: object
                    properties:
                      template:
                        type: string
                      actionLabel:
                        type: string
            items:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                  type:
                    type: string
                  squiggly:
                    type: string
                  title:
                    type: string
                  redirectType:
                    type: string
                  validations:
                    type: object
                    properties:
                      required:
                        type: boolean
                  properties:
                    type: object
                    properties:
                      addToAppointment:
                        type: boolean
                      showCustomAction:
                        type: boolean
                      includeNoneOfAboveChoice:
                        type: boolean
                      allowOtherChoice:
                        type: boolean
                      scoringEnabled:
                        type: boolean
                      visibility:
                        type: string
                      allowMultipleSelection:
                        type: boolean
                      showDescription:
                        type: boolean
                      answers:
                        type: object
                        properties:
                          id:
                            type: string
                          redirectType:
                            type: string
        integratorMapping:
          description: integratorMapping of the patient form template
          type: string
        calculation:
          description: calculation of the patient form template
          type: string
        finalDispositionCalculation:
          description: finalDispositionCalculation of the patient form template
          type: string
        schedulerRequestInterceptor:
          description: schedulerRequestInterceptor of the patient form template
          type: string
        sched

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