Get Single Pathway Information
curl --request GET \
--url https://api.bland.ai/v1/pathway/{pathway_id} \
--header 'authorization: <authorization>'import requests
url = "https://api.bland.ai/v1/pathway/{pathway_id}"
headers = {"authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {authorization: '<authorization>'}};
fetch('https://api.bland.ai/v1/pathway/{pathway_id}', 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.bland.ai/v1/pathway/{pathway_id}",
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: <authorization>"
],
]);
$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.bland.ai/v1/pathway/{pathway_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("authorization", "<authorization>")
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.bland.ai/v1/pathway/{pathway_id}")
.header("authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bland.ai/v1/pathway/{pathway_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"name": "Default Demo Pathway",
"description": null,
"nodes": [
{
"id": "1",
"data": {
"name": "Start",
"text": "Hey there, how are you doing today?",
"isStart": true,
},
"type": "Default"
},
{
"id": "randomnode_1710288752186",
"data": {
"name": "End call",
"prompt": "Click 'Add New Node' on the right to add a new node",
},
"type": "End Call"
},
{
"id": "randomnode_1710288871721",
"data": {
"name": "New Node",
"text": "Select a node or edge and press backspace to remove it",
},
"type": "Default"
},
{
"id": "randomnode_test123",
"data": {
"name": "Testing node",
"text": "Hello there"
},
"type": "Default"
}
],
"edges": [
{
"id": "reactflow__edge-1-randomnode_1710288752186",
"label": "greeted",
"source": "1",
"target": "randomnode_1710288752186"
},
{
"id": "reactflow__edge-1-randomnode_1710288871721",
"label": "New Edge",
"source": "1",
"target": "randomnode_1710288871721"
}
]
}
Conversational Pathways
Get Single Pathway Information
Returns a set of information about the conversational pathway in your account - including the name, description, nodes and edges.
GET
/
v1
/
pathway
/
{pathway_id}
Get Single Pathway Information
curl --request GET \
--url https://api.bland.ai/v1/pathway/{pathway_id} \
--header 'authorization: <authorization>'import requests
url = "https://api.bland.ai/v1/pathway/{pathway_id}"
headers = {"authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {authorization: '<authorization>'}};
fetch('https://api.bland.ai/v1/pathway/{pathway_id}', 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.bland.ai/v1/pathway/{pathway_id}",
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: <authorization>"
],
]);
$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.bland.ai/v1/pathway/{pathway_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("authorization", "<authorization>")
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.bland.ai/v1/pathway/{pathway_id}")
.header("authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bland.ai/v1/pathway/{pathway_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"name": "Default Demo Pathway",
"description": null,
"nodes": [
{
"id": "1",
"data": {
"name": "Start",
"text": "Hey there, how are you doing today?",
"isStart": true,
},
"type": "Default"
},
{
"id": "randomnode_1710288752186",
"data": {
"name": "End call",
"prompt": "Click 'Add New Node' on the right to add a new node",
},
"type": "End Call"
},
{
"id": "randomnode_1710288871721",
"data": {
"name": "New Node",
"text": "Select a node or edge and press backspace to remove it",
},
"type": "Default"
},
{
"id": "randomnode_test123",
"data": {
"name": "Testing node",
"text": "Hello there"
},
"type": "Default"
}
],
"edges": [
{
"id": "reactflow__edge-1-randomnode_1710288752186",
"label": "greeted",
"source": "1",
"target": "randomnode_1710288752186"
},
{
"id": "reactflow__edge-1-randomnode_1710288871721",
"label": "New Edge",
"source": "1",
"target": "randomnode_1710288871721"
}
]
}
Headers
string
required
Your API key for authentication.
Path Parameters
string
required
The unique identifier of the conversational pathway for which you want to retrieve detailed information.
Response
string
The name of the conversational pathway.
string
A description of the conversational pathway.
array of objects
Data about all the nodes in the pathway.Examples of JSON objects for nodes (Horizontal scroll the tab bar to see more examples)
{
"id": "1",
"type": "Default"
"data": {
"name": "Start",
"text": "Hey there, how are you doing today?",
"isStart": true,
},
{
"id": "randomnode_1710288871721",
"type": "Default"
"data": {
"name": "New Node",
"text": "Select a node or edge and press backspace to remove it",
"globalPrompt": "This is a phone call. Do not use exclamation marks.\n\nConvert 24HR format timings to 12 HR format - e.g 14:00 should be written as 2 PM.",
},
}
{
"id": "randomnode_1710288752186",
"type": "End Call"
"data": {
"name": "End call",
"prompt": "Say goodbye to the user",
},
}
{
"id": "randomnode_1710288752186",
"type": "Webhook",
"data": {
"url": "https://api.bland.ai/reservation",
"body": "{\n \"date\" : \"{{date}}\",\n \"time\" : \"{{time}}\",\n \"guests\": {{number_of_people}}\n}",
"name": "Reservation Booking",
"text": "Please give me a moment as I check our bookings..",
"method": "POST",
"extractVars": [
[
"date",
"string",
"Desired Date of reservation, in MM/DD/YYYY format"
],
[
"time",
"string",
"Desired Time of Reservation in 24HR Format e.g 13:30"
],
[
"number_of_people",
"integer",
"Number of people for the reservation"
]
],
"responseData": [
{
"data": "$.reserved",
"name": "reservation_success",
"context": ""
},
{
"data": "$.available_slots",
"name": "available_slots",
"context": "Available slots for the date provided"
}
],
"responsePathways": [
[
"reservation_success",
"==",
"true",
{
"id": "randomnode_1710288752186",
"name": "Reservation Successful"
}
],
[
"reservation_success",
"==",
"false",
{
"id": "randomnode_1712265110018",
"name": "Find new timeslot"
}
]
]
}
}
{
"id": "randomnode_1710288752186",
"type": "Knowledge Base",
"data": {
"name": "Restaurant Questions",
"prompt": "Answer any questions that the user may have regarding the restaurant, by referring to the knowledge base you have. \n\nAnswer the question in 1 line, and then ask if they have any more questions."
"kb": "Opening Hours : 9am - 5pm\nStore Locations : \n426 Ivy Street San Francisco, \nSan Jose"
}
}
{
"id": "randomnode_1710288871721",
"type": "Default"
"data": {
"name": "Answer any questions",
"prompt": "You are to answer any questions the user has.",
"isGlobal": true,
"globalLabel": "user asks a question"
},
}
{
"id": "randomnode_1710288752186",
"type": "Transfer Call",
"data": {
"name": "Transferring the call",
"text": "Transferring the call now. Please hold.."
"transferNumber": "+19547951234"
}
}
Node Data Object Parameters
Node Data Object Parameters
name— name of the nodeisStart— whether the node is the start node. There can only be 1 start node in a pathway. Eithertrueorfalse.isGlobal— whether the node is a global node. Global nodes are nodes that can be used in multiple pathways. Eithertrueorfalse.globalLabel— the label of the global node. Should be present ifisGlobalis true.type— Type of the node. Can beDefault,End Call,Transfer Node,Knowledge Base, orWebhook.text— If static text is chosen, this is the text that will be said to the user.prompt— If dynamic text is chosen, this is the prompt that will be shown to the user.condition— The condition that needs to be met to proceed from this node.transferNumber- If the node is a transfer node, this is the number to which the call will be transferred.
kb- If the node is a knowledge base node, this is the knowledge base that will be used.
pathwayExamples- The fine-tuning examples for the agent at this node for the pathways chosen
conditionExamples- The fine-tuning examples for the condition at this node for the condition chosen
dialogueExamples- The fine-tuning examples for the dialogue at this node for the dialogue chosen.
modelOptionsinterruptionThreshold— The sensitivity to interruptions at this nodetemperature— The temperature of the model.
extractVars- An array of array of strings. [[
varName,varType,varDescription]] e.g[["name", "string", "The name of the user"], ["age", "integer", "The age of the user"]]
- An array of array of strings. [[
array of objects
Data about all the edges in the pathway.
Edge Object Parameters
Edge Object Parameters
id— unique id of the edgesource— id of the source nodetarget— id of the target nodelabel— Label for this edge. This is what the agent will use to decide which path to take.
{
"name": "Default Demo Pathway",
"description": null,
"nodes": [
{
"id": "1",
"data": {
"name": "Start",
"text": "Hey there, how are you doing today?",
"isStart": true,
},
"type": "Default"
},
{
"id": "randomnode_1710288752186",
"data": {
"name": "End call",
"prompt": "Click 'Add New Node' on the right to add a new node",
},
"type": "End Call"
},
{
"id": "randomnode_1710288871721",
"data": {
"name": "New Node",
"text": "Select a node or edge and press backspace to remove it",
},
"type": "Default"
},
{
"id": "randomnode_test123",
"data": {
"name": "Testing node",
"text": "Hello there"
},
"type": "Default"
}
],
"edges": [
{
"id": "reactflow__edge-1-randomnode_1710288752186",
"label": "greeted",
"source": "1",
"target": "randomnode_1710288752186"
},
{
"id": "reactflow__edge-1-randomnode_1710288871721",
"label": "New Edge",
"source": "1",
"target": "randomnode_1710288871721"
}
]
}
Docs for agents: llms.txt
Was this page helpful?