SoulFire LogoSoulFire

Get node types

Gets all available node types with their metadata. This enables clients to render the node editor without hardcoded knowledge of specific node types. The response includes port definitions, categories, display names, and all other information needed to render and validate nodes. This endpoint is cacheable - node types only change between server versions.

GET
/v1/scripts/node-types

Gets all available node types with their metadata. This enables clients to render the node editor without hardcoded knowledge of specific node types. The response includes port definitions, categories, display names, and all other information needed to render and validate nodes. This endpoint is cacheable - node types only change between server versions.

Authorization

AuthorizationBearer <token>

Preferred API authentication. Use a JWT with the api audience.

In: header

Query Parameters

category?string

Optional filter by category ID (references CategoryDefinition.id). Examples: "triggers", "actions", "math". If empty, returns all node types.

include_deprecated?boolean

Whether to include deprecated node types. Default is false.

Response Body

application/json

application/json

application/json

application/json

curl -X GET "http://127.0.0.1:38765/v1/scripts/node-types"
{
  "node_types": [
    {
      "type": "string",
      "display_name": "string",
      "description": "string",
      "category": "string",
      "is_trigger": true,
      "inputs": [
        {
          "id": "string",
          "display_name": "string",
          "port_type": "PORT_TYPE_ANY",
          "required": true,
          "default_value": "string",
          "description": "string",
          "element_type": "PORT_TYPE_ANY",
          "multi_input": true,
          "accepted_types": [
            "PORT_TYPE_ANY"
          ],
          "infer_type_from": "string",
          "type_descriptor": {
            "simple": "PORT_TYPE_ANY",
            "parameterized": {
              "base": "PORT_TYPE_ANY",
              "params": [
                {
                  "simple": "PORT_TYPE_ANY",
                  "parameterized": {
                    "base": "PORT_TYPE_ANY",
                    "params": []
                  },
                  "type_variable": "string"
                }
              ]
            },
            "type_variable": "string"
          }
        }
      ],
      "outputs": [
        {
          "id": "string",
          "display_name": "string",
          "port_type": "PORT_TYPE_ANY",
          "required": true,
          "default_value": "string",
          "description": "string",
          "element_type": "PORT_TYPE_ANY",
          "multi_input": true,
          "accepted_types": [
            "PORT_TYPE_ANY"
          ],
          "infer_type_from": "string",
          "type_descriptor": {
            "simple": "PORT_TYPE_ANY",
            "parameterized": {
              "base": "PORT_TYPE_ANY",
              "params": [
                {
                  "simple": "PORT_TYPE_ANY",
                  "parameterized": {
                    "base": "PORT_TYPE_ANY",
                    "params": []
                  },
                  "type_variable": "string"
                }
              ]
            },
            "type_variable": "string"
          }
        }
      ],
      "icon": "string",
      "color": "string",
      "keywords": [
        "string"
      ],
      "deprecated": true,
      "deprecation_message": "string",
      "is_layout_node": true,
      "supports_muting": true,
      "supports_preview": true,
      "is_expensive": true
    }
  ],
  "categories": [
    {
      "id": "string",
      "display_name": "string",
      "icon": "string",
      "description": "string",
      "sort_order": 0
    }
  ],
  "port_type_metadata": [
    {
      "port_type": "PORT_TYPE_ANY",
      "color": "string",
      "display_name": "string",
      "compatible_from": [
        "PORT_TYPE_ANY"
      ],
      "handle_shape": "HANDLE_SHAPE_CIRCLE",
      "edge_style": "EDGE_STYLE_DEFAULT"
    }
  ]
}
{
  "code": 0,
  "grpc-code": "string",
  "message": "string",
  "stack-trace": "string",
  "details": [
    {}
  ]
}
{
  "code": 0,
  "grpc-code": "string",
  "message": "string",
  "stack-trace": "string",
  "details": [
    {}
  ]
}
{
  "code": 0,
  "grpc-code": "string",
  "message": "string",
  "stack-trace": "string",
  "details": [
    {}
  ]
}

How is this page?