> ## Documentation Index
> Fetch the complete documentation index at: https://docs.purplelabelmd.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List the facts a qualification question may bind

> Lists the facts a qualification question may bind for your brand: the shared screening facts plus your brand's own added facts (never another brand's). Every fact is non-medical screening data. Optional `q` filters the list by a substring of the fact code.



## OpenAPI

````yaml /openapi/public-openapi.json get /v1/account/question-library/facts
openapi: 3.1.0
info:
  title: Purple API
  version: 0.0.0
servers:
  - url: https://api.dev.purplelabelmd.com
security: []
tags:
  - description: Sign a patient in and out and manage the browser session.
    name: Sessions & authentication
  - description: Run the server-driven intake questionnaire question by question.
    name: Intake
  - description: Address autocomplete for the intake flow.
    name: Addresses
  - description: Read the public status of a patient's enrollment.
    name: Enrollment
  - description: Track a client's onboarding progress.
    name: Onboarding
  - description: Read back the platform configuration stored for your brand.
    name: Brand configuration
  - description: Enable offerings for your brand and set their display copy.
    name: Offering configuration
  - description: Start and track payments for an order.
    name: Payments
  - description: Subscribe to platform events and manage delivery endpoints.
    name: Webhooks
paths:
  /v1/account/question-library/facts:
    get:
      tags:
        - Offering configuration
      summary: List the facts a qualification question may bind
      description: >-
        Lists the facts a qualification question may bind for your brand: the
        shared screening facts plus your brand's own added facts (never another
        brand's). Every fact is non-medical screening data. Optional `q` filters
        the list by a substring of the fact code.
      operationId: getQualificationLibraryFacts
      parameters:
        - description: >-
            the therapy you are authoring for. The platform's therapy vocabulary
            is the committed roster the service serves, and grows when a new
            therapy's shared medical intake ships. An unknown therapy answers
            404. NOTE, and it is a statement about decision-making rather than
            about content: `walk` carries a placeholder question set, and every
            therapy other than `weight_loss` carries a real question set but no
            qualification rulebook — those answers are recorded and no
            eligibility or qualification outcome is produced until per-rule
            review criteria are authored and approved by a medical director. A
            therapy appearing here says what the authoring surface resolves; it
            is never a statement of medical readiness.
          in: query
          name: therapy
          required: true
          schema:
            enum:
              - weight_loss
              - walk
              - ed
              - anti_aging_b12
              - anti_aging_glutathione
              - anti_aging_nad_nasal
              - hair_loss
              - skin
              - premature_ejaculation
              - acid_reflux
              - performance_anxiety
            type: string
        - description: >-
            `initial` for the first-visit intake, `refill` for the refill flow.
            Today only `initial` is served; a mode with no shared intake answers
            404.
          in: query
          name: mode
          required: true
          schema:
            enum:
              - initial
              - refill
            type: string
        - description: optional case-insensitive substring filter over fact codes
          in: query
          name: q
          required: false
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QualificationAuthoringFactsResponse'
          description: the qualification-authoring fact catalog for this brand
        '400':
          $ref: '#/components/responses/OverlayBadRequest'
        '404':
          $ref: '#/components/responses/OverlayNotFound'
      security:
        - apiKey: []
components:
  schemas:
    QualificationAuthoringFactsResponse:
      description: >-
        the qualification-authoring fact catalog for a brand (shared-eligible ∪
        this brand's mints)
      properties:
        brand_id:
          type: string
        facts:
          items:
            $ref: '#/components/schemas/QualificationFact'
          type: array
        mode:
          enum:
            - initial
            - refill
          type: string
        therapy:
          type: string
      required:
        - brand_id
        - therapy
        - mode
        - facts
      type: object
    QualificationFact:
      description: >-
        One qualification-bindable fact: its stable `code` (the id and operator
        label) plus its answer-value domain (value type, cardinality, and the
        option codes defined for a multiple-choice fact).
      properties:
        cardinality:
          enum:
            - single
            - multi
          type: string
        code:
          description: >-
            the stable fact code — the id and operator label (codes, never
            rendered labels)
          type: string
        options:
          description: >-
            the option-code answer domain (coded/coded_set facts only, when the
            model defines it). NARROWER than `FactOptionCode` on purpose — this
            projection emits `code` + `exclusive` only, dropping
            `classification_code` and `draft` (see the clinical
            `qualificationEligibleFacts` projection). Declared inline rather
            than by reference so the wire shape stays exactly what the server
            sends.
          items:
            properties:
              code:
                description: >-
                  the stable option code — the submitted answer value and the
                  sole binding
                type: string
              exclusive:
                default: false
                description: >-
                  STRUCTURAL (see `FactOptionCode.exclusive` for the full
                  semantics): a "none of these"-class option that cannot be
                  combined with any sibling selection — the server refuses an
                  answer carrying it alongside another selection with a named
                  422
                type: boolean
            required:
              - code
            type: object
          type: array
        value_type:
          enum:
            - boolean
            - integer
            - decimal
            - string
            - date
            - coded
            - coded_set
            - measurement
          type: string
      required:
        - code
        - value_type
        - cardinality
      type: object
    CompileProblem:
      description: RFC 7807 problem, extended with the structured compile issue list
      properties:
        issues:
          items:
            properties:
              code:
                type: string
              message:
                type: string
              where:
                type: string
            required:
              - code
              - where
              - message
            type: object
          type: array
        status:
          type: integer
        title:
          type: string
      required:
        - title
        - status
      type: object
  responses:
    OverlayBadRequest:
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/CompileProblem'
      description: missing or invalid parameters
    OverlayNotFound:
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/CompileProblem'
      description: >-
        no shared clinical bundle for that (therapy|offering, mode), or no such
        resource
  securitySchemes:
    apiKey:
      description: 'Per-client API key (M2M). Presented as `Authorization: Bearer <key>`.'
      scheme: bearer
      type: http

````