curl --request GET \
--url https://agents.bigdata.com/v1/workflow/execute/async/{execution_id}/stream \
--header 'X-API-Key: <api-key>'import requests
url = "https://agents.bigdata.com/v1/workflow/execute/async/{execution_id}/stream"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://agents.bigdata.com/v1/workflow/execute/async/{execution_id}/stream', 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://agents.bigdata.com/v1/workflow/execute/async/{execution_id}/stream",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$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://agents.bigdata.com/v1/workflow/execute/async/{execution_id}/stream"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://agents.bigdata.com/v1/workflow/execute/async/{execution_id}/stream")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://agents.bigdata.com/v1/workflow/execute/async/{execution_id}/stream")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"delta": {
"content": "<string>",
"message_id": "<string>",
"role": "assistant",
"type": "THINKING"
},
"execution_id": "<string>",
"request_id": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"ctx": {},
"input": "<unknown>"
}
]
}Stream Workflow Events
Attach to a submitted run and receive its events live over Server-Sent Events. Optional: the run proceeds whether or not anything is attached, and disconnecting never stops it.
Every event carries an id. If the connection drops, reconnect to the same URL sending the last id you received in the Last-Event-ID header and delivery continues from there. A standard EventSource client does this automatically.
curl --request GET \
--url https://agents.bigdata.com/v1/workflow/execute/async/{execution_id}/stream \
--header 'X-API-Key: <api-key>'import requests
url = "https://agents.bigdata.com/v1/workflow/execute/async/{execution_id}/stream"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://agents.bigdata.com/v1/workflow/execute/async/{execution_id}/stream', 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://agents.bigdata.com/v1/workflow/execute/async/{execution_id}/stream",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$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://agents.bigdata.com/v1/workflow/execute/async/{execution_id}/stream"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://agents.bigdata.com/v1/workflow/execute/async/{execution_id}/stream")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://agents.bigdata.com/v1/workflow/execute/async/{execution_id}/stream")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"delta": {
"content": "<string>",
"message_id": "<string>",
"role": "assistant",
"type": "THINKING"
},
"execution_id": "<string>",
"request_id": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"ctx": {},
"input": "<unknown>"
}
]
}Authorizations
API key for authentication.
Headers
The id of the last event you received. Send it when reconnecting to continue from that point instead of the start of the run.
Path Parameters
Response
An SSE stream. Each data line is one workflow event; the schema below describes a single event, not the whole body.
A single streaming event from a workflow execution.
The agent's intermediate reasoning while researching.
- ThinkingMessage
- ActionMessage
- AnswerMessage
- CompleteMessage
- ErrorMessage
- AuditMessage
- GroundingMessage
- ChartMessage
- ToolErrorMessage
- PlanningMessage
- LlmRetryMessage
- StructuredOutputMessage
- StreamRollbackMessage
Show child attributes
Show child attributes
Workflow conversation identifier. Use this to resume the conversation.
Unique identifier for this request.
Was this page helpful?