Skip to main content
GET
/
nodes
/
{id}
Get node type by ID
curl --request GET \
  --url http://localhost:5173/api/flowdrop/nodes/{id} \
  --header 'Authorization: Bearer <token>'
{
  "success": true,
  "data": {
    "id": "calculator",
    "name": "Calculator",
    "description": "Perform mathematical operations on input data",
    "category": "processing",
    "version": "1.0.0",
    "inputs": [
      {
        "id": "json",
        "name": "JSON Response",
        "dataType": "mixed",
        "required": false,
        "description": "Parsed JSON response from the HTTP request",
        "defaultValue": "<unknown>",
        "schema": {
          "type": "object",
          "properties": {
            "user": {
              "type": "object",
              "title": "User",
              "description": "User information",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "User ID"
                },
                "name": {
                  "type": "string",
                  "description": "User full name"
                },
                "email": {
                  "type": "string",
                  "description": "User email address"
                },
                "address": {
                  "type": "object",
                  "title": "Address",
                  "properties": {
                    "street": {
                      "type": "string"
                    },
                    "city": {
                      "type": "string"
                    },
                    "country": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "orders": {
              "type": "array",
              "title": "Orders",
              "description": "List of user orders",
              "items": {
                "type": "object",
                "properties": {
                  "order_id": {
                    "type": "string"
                  },
                  "product_name": {
                    "type": "string"
                  },
                  "quantity": {
                    "type": "integer"
                  },
                  "price": {
                    "type": "number"
                  }
                }
              }
            }
          }
        }
      }
    ],
    "outputs": [
      {
        "id": "json",
        "name": "JSON Response",
        "dataType": "mixed",
        "required": false,
        "description": "Parsed JSON response from the HTTP request",
        "defaultValue": "<unknown>",
        "schema": {
          "type": "object",
          "properties": {
            "user": {
              "type": "object",
              "title": "User",
              "description": "User information",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "User ID"
                },
                "name": {
                  "type": "string",
                  "description": "User full name"
                },
                "email": {
                  "type": "string",
                  "description": "User email address"
                },
                "address": {
                  "type": "object",
                  "title": "Address",
                  "properties": {
                    "street": {
                      "type": "string"
                    },
                    "city": {
                      "type": "string"
                    },
                    "country": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "orders": {
              "type": "array",
              "title": "Orders",
              "description": "List of user orders",
              "items": {
                "type": "object",
                "properties": {
                  "order_id": {
                    "type": "string"
                  },
                  "product_name": {
                    "type": "string"
                  },
                  "quantity": {
                    "type": "integer"
                  },
                  "price": {
                    "type": "number"
                  }
                }
              }
            }
          }
        }
      }
    ],
    "supportedTypes": [],
    "icon": "mdi:calculator",
    "color": "#3b82f6",
    "badge": "API",
    "portDataType": "trigger",
    "configSchema": {
      "type": "object",
      "properties": {},
      "required": [
        "<string>"
      ],
      "additionalProperties": false
    },
    "tags": [
      "math",
      "calculation",
      "processing"
    ],
    "formats": [
      "agentspec"
    ],
    "extensions": {
      "ui": {
        "hideUnconnectedHandles": true,
        "style": {
          "opacity": 0.8
        }
      },
      "agentspec:component_type": "llm_node",
      "myapp:analytics": {
        "trackUsage": true,
        "customField": "value"
      }
    }
  },
  "message": "<string>",
  "error": "<string>"
}

Authorizations

Authorization
string
header
required

JWT token for authentication

Path Parameters

id
string
required

Node type unique identifier

Example:

"calculator"

Response

Node type details retrieved successfully

success
boolean

Whether the request was successful

data
object

Complete metadata for a node type including ports, configuration schema, and extensions.

Dynamic Port Support

Nodes can support user-defined dynamic ports through their configSchema:

  • Add dynamicInputs array property to allow custom input handles
  • Add dynamicOutputs array property to allow custom output handles
  • Add branches array property for gateway nodes with conditional paths

Extensions Support

The extensions property allows storing UI settings and 3rd party data:

  • Use extensions.ui.hideUnconnectedHandles to hide unconnected ports by default
  • Use namespaced keys for custom integrations (e.g., "myapp:settings")
message
string

Response message

error
string

Error message (if any)