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

# List Candidate Modifiers

> Candidate (NOT eligible) modifiers for a CPT/HCPCS code.

Narrows the Super Bill editor's modifier picker to the union of:

  * PROCEDURE modifiers the AMA CPT Modifier Crosswalk associates with the
    line's code (``cpt_modifier`` -> ``modifier`` for the label), and
  * every INSURANCE modifier, regardless of code.

The union exists because the crosswalk only catalogs *procedure* modifiers —
facts about how a procedure was performed (26 professional component, 50
bilateral). INSURANCE modifiers (the CMS ABN family: GA/GX/GY/GZ) instead
describe whether the PAYER covers the line, which turns on the patient's
plan rather than the procedure — so no code->modifier crosswalk can express
them, and their absence from it is guaranteed rather than evidence of
invalidity. Crosswalk-only candidates hid GY from chiropractic billers, who
need it on essentially every line that isn't 98940/98941/98942.

Final correctness still depends on payer, documentation, POS, provider type,
the other claim lines, and encounter context — so these are candidates, and
the picker keeps its free-type escape.

An unknown code returns the insurance modifiers (not ``[]``): they are
code-independent, and free-typed lines carrying codes absent from the
licensed ``cpt`` catalog (e.g. J-codes) are exactly where a biller reaches
for GY.

Each row carries ``crosswalked`` — whether the crosswalk pairs it with THIS
code, as opposed to being present only because it is an insurance modifier.
The picker warns about an off-list modifier only for a code the crosswalk
actually has rows for; because insurance modifiers make the list never-empty,
"no rows for this code" is no longer an empty list and needs this flag to
stay detectable. It is derived per request, not the modifier's stored type.



## OpenAPI

````yaml get /medical-codes/cpt/{code}/candidate-modifiers
openapi: 3.1.0
info:
  title: Decoda API
  description: External API documentation for the Decoda Health platform.
  version: '1.0'
servers: []
security: []
paths:
  /medical-codes/cpt/{code}/candidate-modifiers:
    get:
      tags:
        - Medical Codes
      summary: List Candidate Modifiers
      description: >-
        Candidate (NOT eligible) modifiers for a CPT/HCPCS code.


        Narrows the Super Bill editor's modifier picker to the union of:

          * PROCEDURE modifiers the AMA CPT Modifier Crosswalk associates with the
            line's code (``cpt_modifier`` -> ``modifier`` for the label), and
          * every INSURANCE modifier, regardless of code.

        The union exists because the crosswalk only catalogs *procedure*
        modifiers —

        facts about how a procedure was performed (26 professional component, 50

        bilateral). INSURANCE modifiers (the CMS ABN family: GA/GX/GY/GZ)
        instead

        describe whether the PAYER covers the line, which turns on the patient's

        plan rather than the procedure — so no code->modifier crosswalk can
        express

        them, and their absence from it is guaranteed rather than evidence of

        invalidity. Crosswalk-only candidates hid GY from chiropractic billers,
        who

        need it on essentially every line that isn't 98940/98941/98942.


        Final correctness still depends on payer, documentation, POS, provider
        type,

        the other claim lines, and encounter context — so these are candidates,
        and

        the picker keeps its free-type escape.


        An unknown code returns the insurance modifiers (not ``[]``): they are

        code-independent, and free-typed lines carrying codes absent from the

        licensed ``cpt`` catalog (e.g. J-codes) are exactly where a biller
        reaches

        for GY.


        Each row carries ``crosswalked`` — whether the crosswalk pairs it with
        THIS

        code, as opposed to being present only because it is an insurance
        modifier.

        The picker warns about an off-list modifier only for a code the
        crosswalk

        actually has rows for; because insurance modifiers make the list
        never-empty,

        "no rows for this code" is no longer an empty list and needs this flag
        to

        stay detectable. It is derived per request, not the modifier's stored
        type.
      operationId: >-
        list_candidate_modifiers_medical_codes_cpt__code__candidate_modifiers_get
      parameters:
        - name: TENANT
          in: header
          required: true
          schema:
            type: string
            title: Tenant
          description: The tenant you are making this request on behalf of
        - name: API-KEY
          in: header
          required: true
          schema:
            type: string
            title: Api-Key
          description: Your api key
        - name: code
          in: path
          required: true
          schema:
            type: string
            title: Code
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CandidateModifier'
                title: >-
                  Response List Candidate Modifiers Medical Codes Cpt  Code 
                  Candidate Modifiers Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    CandidateModifier:
      properties:
        code:
          type: string
          title: Code
        label:
          type: string
          title: Label
        crosswalked:
          type: boolean
          title: Crosswalked
      type: object
      required:
        - code
        - label
        - crosswalked
      title: CandidateModifier
      description: >-
        A *candidate* modifier for a CPT/HCPCS code — the modifiers the AMA CPT

        Modifier Crosswalk associates with the code, plus the insurance
        modifiers,

        which apply to every code. Narrows the Super Bill picker, not an
        eligibility

        verdict; ``label`` is the modifier's description. The picker keeps its

        free-type escape, so an off-list modifier can still be added.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError

````