{"openapi":"3.0.3","info":{"title":"NodePit","description":"This is the REST API for NodePit. More about it, with examples, is at [https://nodepit.com/api](https://nodepit.com/api). The same data is available to AI assistants through the [MCP server](https://nodepit.com/mcp). Requests are limited per client: every answer carries `X-RateLimit-Limit`, `X-RateLimit-Remaining`, and `X-RateLimit-Reset`, and beyond the limit the API answers with 429 and `Retry-After`. If something is wrong or missing, tell us at [https://nodepit.com/feedback](https://nodepit.com/feedback).","contact":{"name":"NodePit","url":"https://nodepit.com/feedback"},"version":"0.1.0"},"components":{"securitySchemes":{"basic":{"type":"http","scheme":"basic","description":"Authenticate with NodePit username and password"}},"schemas":{"KnimeVersion":{"description":"KNIME version following `major.minor` format.","example":"5.5","pattern":"\\d+\\.\\d+","type":"string"},"NodeSlim":{"type":"object","properties":{"nodePitId":{"$ref":"#/components/schemas/NodeId"},"name":{"description":"Human-readable name of the node","example":"HTML Parser","type":"string"},"url":{"description":"NodePit URL of node page","format":"uri","example":"https://nodepit.com/node/ws.palladian.nodes.retrieval.parser.HtmlParserNodeFactory","type":"string"}},"required":["nodePitId","name","url"]},"Node":{"type":"object","properties":{"nodePitId":{"$ref":"#/components/schemas/NodeId"},"name":{"description":"Human-readable name of the node","example":"HTML Parser","type":"string"},"type":{"description":"Type of the node.","example":"Manipulator","type":"string"},"description":{"description":"A short description of the node.","type":"string"},"intro":{"description":"A long description of the node. Can be HTML-formatted.","type":"string"},"url":{"description":"NodePit URL of node page","format":"uri","example":"https://nodepit.com/node/ws.palladian.nodes.retrieval.parser.HtmlParserNodeFactory","type":"string"},"options":{"type":"array","items":{}},"optionTabs":{"type":"array","items":{}},"predecessors":{"type":"array","items":{}},"successors":{"type":"array","items":{}},"inPorts":{"type":"array","items":{}},"outPorts":{"type":"array","items":{}},"dynamicInPorts":{"type":"array","items":{}},"dynamicOutPorts":{"type":"array","items":{}},"path":{"description":"Path to this node within the category hierarchy","type":"array","items":{"title":"PathComponent","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id"]}},"deprecated":{"description":"Flag to indicate whether this node is deprecated; deprecated nodes typically continue to work just fine, but usually have a successor with improved functionality","type":"boolean"},"hasModernDialog":{"description":"Flag to indicate whether this node has a “modern UI” configuration dialog","type":"boolean"},"hidden":{"description":"Flag to indicate whether this node is hidden in KNIME’s node repository","type":"boolean"},"featureName":{"description":"Human-readable name of the “feature” (Eclipse terminology) which contains the node","example":"Palladian for KNIME","type":"string"},"featureNodePitId":{"description":"Identifier of the “feature” (Eclipse terminology) which contains the node","exmaples":["ws.palladian.nodes.feature.feature.group"],"type":"string"},"updateSiteUrl":{"description":"The URL of the update site which contains the node","format":"uri","example":"https://download.nodepit.com/palladian/5.5","type":"string"},"updateSiteName":{"description":"Human-readable name of the update site which contains this node","example":"Palladian Nodes","type":"string"},"iconBase64":{"description":"A 16 × 16 pixel Base64-encoded PNG image of the node","contentMediaType":"image/png","type":"string","format":"byte"},"replacedByNodePitId":{"$ref":"#/components/schemas/NodeId"}},"required":["nodePitId","name","type","description","intro","url","path","deprecated","hasModernDialog","hidden","iconBase64"]},"CategorySlim":{"type":"object","properties":{"nodePitId":{"$ref":"#/components/schemas/CategoryId"},"name":{"description":"Human-readable name of the category.","example":"NodePit API","type":"string"},"url":{"description":"NodePit URL of category page.","format":"uri","example":"https://nodepit.com/category/nodepit/nodepit-api","type":"string"}},"required":["nodePitId","name","url"]},"Category":{"type":"object","properties":{"nodePitId":{"$ref":"#/components/schemas/CategoryId"},"name":{"description":"Human-readable name of the category.","example":"NodePit API","type":"string"},"description":{"description":"A description of the category.","type":"string"},"url":{"description":"NodePit URL of category page.","format":"uri","example":"https://nodepit.com/category/nodepit/nodepit-api","type":"string"},"path":{"description":"Path to this category within the hierarchy.","type":"array","items":{"title":"PathComponent","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id"]}},"featureName":{"description":"Human-readable name of the “feature” (Eclipse terminology) which contains the category.","example":"NodePit for KNIME","type":"string"},"featureNodePitId":{"description":"Identifier of the “feature” (Eclipse terminology) which contains the category.","exmaples":["com.nodepit.knime.feature.feature.group"],"type":"string"},"updateSiteUrl":{"description":"The URL of the update site which contains the category.","format":"uri","example":"https://download.nodepit.com/5.5","type":"string"},"updateSiteName":{"description":"Human-readable name of the update site which contains this category.","example":"NodePit","type":"string"},"iconBase64":{"description":"A 16 × 16 pixel Base64-encoded PNG image of the category.","contentMediaType":"image/png","type":"string","format":"byte"}},"required":["nodePitId","name","url","path"]},"WorkflowSlim":{"type":"object","properties":{"nodePitId":{"type":"string"},"name":{"type":"string"},"url":{"format":"uri","type":"string"}},"required":["nodePitId","name","url"]},"Workflow":{"type":"object","properties":{"nodePitId":{"type":"string"},"name":{"type":"string"},"component":{"type":"boolean"},"url":{"format":"uri","type":"string"},"nodes":{"type":"array","items":{}},"annotations":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string"}},"required":["text"]}},"path":{"type":"array","items":{"title":"PathComponent","type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id"]}},"downloadUrl":{"format":"uri","type":"string"}},"required":["nodePitId","name","component","url","nodes","annotations","path"]},"Extension":{"type":"object","properties":{"nodePitId":{"type":"string"},"name":{"type":"string"},"updateSiteUrl":{"type":"string"},"updateSiteName":{"type":"string"}},"required":["nodePitId","name","updateSiteUrl","updateSiteName"]},"ProductSlim":{"type":"object","properties":{"nodePitId":{"$ref":"#/components/schemas/ProductId"},"name":{"description":"Human-readable name of the product","type":"string","example":"Palladian"},"url":{"description":"NodePit URL of product page","format":"uri","type":"string","example":"https://nodepit.com/product/palladian"}},"required":["nodePitId","name","url"]},"Product":{"type":"object","properties":{"nodePitId":{"$ref":"#/components/schemas/ProductId"},"name":{"description":"Human-readable name of the product","type":"string","example":"Palladian"},"description":{"description":"A short description of the product.","type":"string"},"text":{"description":"A long text about the product in markdown format.","type":"string"},"url":{"description":"NodePit URL of product page","format":"uri","type":"string","example":"https://nodepit.com/product/palladian"},"features":{"type":"array","items":{"$ref":"#/components/schemas/Extension"}},"iconBase64":{"description":"A 16 × 16 pixel Base64-encoded PNG image of the product","contentMediaType":"image/png","type":"string","format":"byte"},"version":{"description":"Latest version determined by the changelog","type":"string"},"releaseDate":{"format":"date","description":"Latest release date determined by the changelog","type":"string"},"downloadCount":{"minimum":0,"description":"Total number of downloads (version-independent)","type":"integer"}},"required":["nodePitId","name","description","url","features"]},"NodeId":{"description":"Unique node (factory) identifier","example":"ws.palladian.nodes.retrieval.parser.HtmlParserNodeFactory","type":"string"},"CategoryId":{"description":"The path of the category","example":"/nodepit/nodepit-api","type":"string"},"WorkflowId":{"description":"The path to the workflow; it consists of a location identifier (e.g. `com.nodepit.workflows`), the directory hierarchy, and the workflow name, all separated by `/`.","example":"com.nodepit.workflows/elasticsearch/01-Query-Elasticsearch.knwf","type":"string"},"ProductId":{"description":"Unique product identifier","example":"palladian","type":"string"},"SearchResult":{"type":"object","properties":{"name":{"description":"Human-readable name of the search result","example":"HTML Parser","type":"string"},"nodePitId":{"description":"Type-specific identifier of the search result","example":"ws.palladian.nodes.retrieval.parser.HtmlParserNodeFactory","type":"string"},"url":{"description":"Nodepit URL with the search result","format":"uri","example":"https://nodepit.com/node/ws.palladian.nodes.retrieval.parser.HtmlParserNodeFactory","type":"string"},"iconSrc":{"description":"Image of the search result as `data:` URL which can be used as `src` in `<img>` elements.","type":"string"},"kind":{"enum":["node","iu","category","workflow","server","port","user","product"],"type":"string","description":"The type of the search result","example":"node"}},"required":["name","nodePitId","url","kind"]},"Version":{"type":"object","properties":{"version":{"description":"The version","example":"5.4.1","type":"string"},"url":{"description":"Download link","format":"uri","example":"https://download.knime.org/analytics-platform/win/knime_5.4.1.win32.win32.x86_64.zip","type":"string"},"releaseDate":{"description":"Release date of this version","format":"date","example":"2025-02-06","type":"string"},"arch":{"description":"CPU architecture","example":"x86","type":"string"},"os":{"description":"Operating system","example":"win32","type":"string"},"md5":{"type":"string"}},"required":["version","url","arch","os"]}}},"paths":{"/api/nodes":{"get":{"operationId":"getNodes","summary":"Get a summary list of all nodes.","tags":["Nodes"],"parameters":[{"schema":{"$ref":"#/components/schemas/KnimeVersion"},"in":"query","name":"knimeVersion","required":false},{"schema":{"minimum":0,"default":0,"format":"int32","type":"integer"},"in":"query","name":"skip","required":false,"description":"The number of results to skip"},{"schema":{"minimum":1,"maximum":50,"default":10,"format":"int32","type":"integer"},"in":"query","name":"limit","required":false,"description":"Number of results to return"}],"security":[{"basic":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/NodeSlim"}},"total":{"type":"integer"}},"required":["items","total"]}}}}}}},"/api/nodes/{nodePitId}":{"get":{"operationId":"getNode","summary":"Get detail infos about a specific node.","tags":["Nodes"],"parameters":[{"schema":{"$ref":"#/components/schemas/KnimeVersion"},"in":"query","name":"knimeVersion","required":false},{"schema":{"$ref":"#/components/schemas/NodeId"},"in":"path","name":"nodePitId","required":true}],"security":[{"basic":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Node"}}}}}}},"/api/nodes/{nodePitId}/image":{"get":{"operationId":"getNodeImage","summary":"Get node icon for a node within a specific KNIME version.","tags":["Nodes"],"parameters":[{"schema":{"$ref":"#/components/schemas/KnimeVersion"},"in":"query","name":"knimeVersion","required":false},{"schema":{"enum":["red","yellow","green"],"type":"string"},"in":"query","name":"executionState","required":false,"description":"The state of the traffic lights shown below the node. If unset, no traffic lights are shown."},{"schema":{"type":"boolean"},"in":"query","name":"addNodeName","required":false,"description":"Enable to show the node name. Make sure to set approriate `canvasWidth` and `canvasHeight` so that the node name can be fully displayed."},{"schema":{"minimum":0,"maximum":2048,"format":"int32","type":"integer"},"in":"query","name":"width","required":false,"description":"Width of the generated image (only when type is `png`)"},{"schema":{"minimum":0,"maximum":2048,"format":"int32","type":"integer"},"in":"query","name":"height","required":false,"description":"Height of the generated image (only when type is `png`)"},{"schema":{"minimum":0,"maximum":2048,"format":"int32","type":"integer"},"in":"query","name":"canvasWidth","required":false,"description":"Width of the canvas in pixels. If unset, the canvas size will be sufficient to show the entire node (but not necessarily the node name)."},{"schema":{"minimum":0,"maximum":2048,"format":"int32","type":"integer"},"in":"query","name":"canvasHeight","required":false,"description":"Height of the canvas in pixels. If unset, the canvas size will be sufficient to show the entire node (but not necessarily the node name)."},{"schema":{"type":"string"},"in":"query","name":"backgroundColor","required":false,"description":"Background color of the canvas. You can use HTML color names such as `white` or hex codes such as `#fff`. If unset, the background color will be transparent."},{"schema":{"enum":["png","svg"],"type":"string","example":"png"},"in":"query","name":"imageType","required":false,"description":"Image format to generate. If this is set, it will **override** the `Accept` header which allows passing the format within the URL. Supported formats: `png` and `svg`."},{"schema":{"$ref":"#/components/schemas/NodeId"},"in":"path","name":"nodePitId","required":true}],"security":[{"basic":[]}],"responses":{"200":{"description":"Default Response","content":{"image/png":{"schema":{"format":"binary","type":"string"}},"image/svg+xml":{"schema":{"format":"binary","type":"string"}}}}}}},"/api/categories":{"get":{"operationId":"getCategories","summary":"Get a summary list of all categories.","tags":["Categories"],"parameters":[{"schema":{"$ref":"#/components/schemas/KnimeVersion"},"in":"query","name":"knimeVersion","required":false},{"schema":{"minimum":0,"default":0,"format":"int32","type":"integer"},"in":"query","name":"skip","required":false,"description":"The number of results to skip"},{"schema":{"minimum":1,"maximum":50,"default":10,"format":"int32","type":"integer"},"in":"query","name":"limit","required":false,"description":"Number of results to return"}],"security":[{"basic":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/CategorySlim"}},"total":{"type":"integer"}},"required":["items","total"]}}}}}}},"/api/categories/{nodePitId}":{"get":{"operationId":"getCategory","summary":"Get detail infos about a specific category.","tags":["Categories"],"parameters":[{"schema":{"$ref":"#/components/schemas/KnimeVersion"},"in":"query","name":"knimeVersion","required":false},{"schema":{"$ref":"#/components/schemas/CategoryId"},"in":"path","name":"nodePitId","required":true}],"security":[{"basic":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Category"}}}}}}},"/api/workflows":{"get":{"operationId":"getWorkflows","summary":"Get a summary list of all workflows.","tags":["Workflows"],"parameters":[{"schema":{"minimum":0,"default":0,"format":"int32","type":"integer"},"in":"query","name":"skip","required":false,"description":"The number of results to skip"},{"schema":{"minimum":1,"maximum":50,"default":10,"format":"int32","type":"integer"},"in":"query","name":"limit","required":false,"description":"Number of results to return"}],"security":[{"basic":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/WorkflowSlim"}},"total":{"type":"integer"}},"required":["items","total"]}}}}}}},"/api/workflows/{nodePitId}":{"get":{"operationId":"getWorkflow","summary":"Get detail infos about a specific workflow.","tags":["Workflows"],"parameters":[{"schema":{"$ref":"#/components/schemas/WorkflowId"},"in":"path","name":"nodePitId","required":true}],"security":[{"basic":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workflow"}}}}}}},"/api/features/{nodePitId}":{"get":{"operationId":"getFeature","summary":"Get detail infos about a specific extension (aka. feature).","tags":["Extensions"],"parameters":[{"schema":{"$ref":"#/components/schemas/KnimeVersion"},"in":"query","name":"knimeVersion","required":false},{"schema":{"type":"string"},"in":"path","name":"nodePitId","required":true}],"security":[{"basic":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Extension"}}}}}}},"/api/search":{"get":{"operationId":"search","summary":"Search for products, nodes, categories, workflows, servers, and users","tags":["Search"],"parameters":[{"schema":{"maxLength":100,"example":"barcode","type":"string"},"in":"query","name":"query","required":true,"description":"The query matching against the name"},{"schema":{"$ref":"#/components/schemas/KnimeVersion"},"in":"query","name":"knimeVersion","required":false},{"schema":{"minimum":1,"maximum":50,"default":10,"format":"int32","type":"integer"},"in":"query","name":"limit","required":false,"description":"Number of results to return"},{"schema":{"type":"array","items":{"enum":["node","iu","category","workflow","server","port","user","product"],"type":"string"}},"in":"query","name":"kind","required":false,"description":"Specify the type(s) to search for"}],"security":[{"basic":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/SearchResult"}}},"required":["items"]}}}}}}},"/api/products":{"get":{"operationId":"getProducts","summary":"Get a summary list of all products.","tags":["Products"],"security":[{"basic":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProductSlim"}},"total":{"type":"integer"}},"required":["items","total"]}}}}}}},"/api/products/{nodePitId}":{"get":{"operationId":"getProduct","summary":"Get detail infos about a specific product.","tags":["Products"],"parameters":[{"schema":{"$ref":"#/components/schemas/KnimeVersion"},"in":"query","name":"knimeVersion","required":false},{"schema":{"$ref":"#/components/schemas/ProductId"},"in":"path","name":"nodePitId","required":true}],"security":[{"basic":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Product"}}}}}}},"/api/versions":{"get":{"operationId":"getVersions","summary":"Get a list of KNIME versions and corresponding information.","tags":["KNIME versions"],"parameters":[{"schema":{"example":"x86_64","type":"string"},"in":"query","name":"arch","required":false,"description":"Filter by CPU architecture"},{"schema":{"example":"win32","type":"string"},"in":"query","name":"os","required":false,"description":"Filter by operating system"}],"security":[{"basic":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Version"}},"total":{"type":"integer"}},"required":["items","total"]}}}}}}}},"servers":[{"url":"https://nodepit.com"}],"tags":[{"name":"Search","description":"Find items by name. One request searches nodes, categories, extensions, workflows, servers, products, and users at once; narrow it down with `kind`, and with `knimeVersion` to see what a KNIME version offers. Every hit carries its `nodePitId`, which the other endpoints take to look it up, and the URL of its page on NodePit."},{"name":"Nodes","description":"KNIME nodes. List them, or look one up by its `nodePitId` (the class name of its factory): its description, ports, and options, the extension it ships in, whether it is deprecated and what replaced it, and the nodes most often connected before and after it. The icon of a node comes as SVG or PNG, optionally with traffic lights and the name of the node."},{"name":"Categories","description":"The node categories, as in the node repository of KNIME. A category has a description, its path (the categories above it), and the extension which provides it, with the update site to install that from."},{"name":"Extensions","description":"Extensions (also called features), which one installs in KNIME to get nodes. An extension has a name and the update site to install it from, for the KNIME version asked for."},{"name":"Workflows","description":"Public workflows and components, found on public servers. A workflow lists the nodes it uses, its annotations, and where it lives, and has a download link where it may be downloaded."},{"name":"Products","description":"The products of the vendors listed on NodePit: extensions with a page of their own. A product has a description, the extensions it consists of with their update sites, its latest version and release date, and its download count."},{"name":"KNIME versions","description":"The released versions of KNIME, for each operating system and architecture, with release date, download link, and checksum. Filter them with `os` and `arch`."}],"externalDocs":{"description":"Examples, code samples, and the MCP server","url":"https://nodepit.com/api"}}