Workflows
Workflow Node Types API
Discover every node type with its configuration parameters, defaults and bounds, plus the variable namespaces available to conditions.
GET
/
workflow-node-types
cURL
curl --request GET \
--url https://api.bolna.ai/workflow-node-types \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.bolna.ai/workflow-node-types"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.bolna.ai/workflow-node-types', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.bolna.ai/workflow-node-types",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.bolna.ai/workflow-node-types"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.bolna.ai/workflow-node-types")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bolna.ai/workflow-node-types")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"node_types": [
{
"type": "start",
"label": "<string>",
"available": true,
"transition": "cases",
"summary": "<string>",
"unavailable_reason": "<string>",
"branches_on": "<string>",
"params": [
{
"name": "<string>",
"type": "<string>",
"required": true,
"default": "<unknown>",
"description": "<string>",
"min": 123,
"max": 123,
"options": [
"<unknown>"
]
}
]
}
],
"namespaces": [
"<string>"
],
"effects": [
{}
]
}The catalog is generated from the same models that publish enforces, so it never drifts from what the engine accepts. See the node reference for worked examples of each type.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Was this page helpful?
⌘I
cURL
curl --request GET \
--url https://api.bolna.ai/workflow-node-types \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.bolna.ai/workflow-node-types"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.bolna.ai/workflow-node-types', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.bolna.ai/workflow-node-types",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.bolna.ai/workflow-node-types"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.bolna.ai/workflow-node-types")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bolna.ai/workflow-node-types")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"node_types": [
{
"type": "start",
"label": "<string>",
"available": true,
"transition": "cases",
"summary": "<string>",
"unavailable_reason": "<string>",
"branches_on": "<string>",
"params": [
{
"name": "<string>",
"type": "<string>",
"required": true,
"default": "<unknown>",
"description": "<string>",
"min": 123,
"max": 123,
"options": [
"<unknown>"
]
}
]
}
],
"namespaces": [
"<string>"
],
"effects": [
{}
]
}
