---
title: "List Node Types"
method: GET
path: "/api/v1/node-types"
tags: ["main"]
---

# List Node Types

`GET /api/v1/node-types`

## Request

- Base URL: `https://app.dograh.com`
- URL: `https://app.dograh.com/api/v1/node-types`
- Auth: none declared

List every registered NodeSpec.

SDK clients should pin to `spec_version` and warn if the server reports
a higher version than what they were generated against.

## Headers

- `authorization` string, nullable
- `X-API-Key` string, nullable

## Response `200`

Successful Response

- NodeTypesResponse
  - `spec_version` string, required
  - `node_types` NodeSpec[], required
    - `name` string, required
    - `display_name` string, required
    - `description` string, required: Human-facing explanation shown in AddNodePanel.
    - `llm_hint` string, nullable: LLM-only guidance; omitted from the UI.
    - `docs_url` string, nullable: Documentation URL shown in the node editor.
    - `category` 'call_node' | 'global_node' | 'trigger' | 'integration', required: Drives grouping in the AddNodePanel UI.
    - `icon` string, required
    - `version` string
    - `properties` PropertySpec[], required
      - `name` string, required
      - `type` 'string' | 'number' | 'boolean' | 'options' | 'multi_options' | 'fixed_collection' | 'json' | 'tool_refs' | 'document_refs' | 'recording_ref' | 'credential_ref' | 'mention_textarea' | 'url', required: Bounded vocabulary of property types the renderer dispatches on. Adding a value here requires a matching arm in the frontend `<PropertyInput>` switch and (where relevant) the SDK codegen template.
      - `display_name` string, required
      - `description` string, required: Human-facing explanation shown in the UI.
      - `llm_hint` string, nullable: LLM-only guidance; omitted from the UI.
      - `default` unknown
      - `required` boolean
      - `placeholder` string, nullable
      - `display_options` DisplayOptions: Conditional visibility rules. `show` keys are AND-combined: this property is visible only when EVERY referenced field's value matches one of the listed values. `hide` keys are OR-combined: this property is hidden when ANY referenced field's value matches one of the listed values. Example: DisplayOptions(show={"extraction_enabled": [True]}) DisplayOptions(show={"greeting_type": ["audio"]})
        - `show` object, nullable
        - `hide` object, nullable
      - `options` PropertyOption[], nullable
        - `value` union, required
          - string
          - integer
          - boolean
          - number
        - `label` string, required
        - `description` string, nullable
      - `properties` PropertySpec[], nullable
      - `min_value` number, nullable
      - `max_value` number, nullable
      - `min_length` integer, nullable
      - `max_length` integer, nullable
      - `pattern` string, nullable
      - `editor` string, nullable
      - `renderer_options` PropertyRendererOptions: Typed renderer metadata for node properties. Add new renderer behavior here instead of using free-form property metadata.
        - `layout` PropertyLayoutOptions: Renderer layout hints for a property in the node editor.
          - `column_span` integer, nullable: Number of columns to occupy in the editor's 12-column grid.
        - `number_input` NumberInputOptions: Renderer hints for numeric inputs.
          - `fractional` boolean: Allow arbitrary fractional values via step='any'.
    - `examples` NodeExample[]
      - `name` string, required
      - `description` string, nullable
      - `data` object, required
    - `graph_constraints` GraphConstraints: Per-node-type graph rules. WorkflowGraph enforces these at validation.
      - `min_incoming` integer, nullable
      - `max_incoming` integer, nullable
      - `min_outgoing` integer, nullable
      - `max_outgoing` integer, nullable
      - `min_instances` integer, nullable
      - `max_instances` integer, nullable

## Other responses

- `404`: Not found
- `422`: Validation Error

## Changes

- **2026-11-03** `faa00cf76fcb`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/dograh/apis/dograh-api/changes/api/v1/node-types/get.md)

---

[API](https://skmtc.dev/dograh/apis/dograh-api.md) - [All operations](https://skmtc.dev/dograh/apis/dograh-api/llms.txt) - [OpenAPI document](https://skmtc.dev/dograh/apis/dograh-api/revisions/faa00cf76fcb?raw)
