curl --request POST \
--url https://agents.bigdata.com/v1/workflow/execute/async \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"template": "<string>",
"execution_id": "<string>",
"input": {},
"model_name": "base"
}
'import requests
url = "https://agents.bigdata.com/v1/workflow/execute/async"
payload = {
"template": "<string>",
"execution_id": "<string>",
"input": {},
"model_name": "base"
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({template: '<string>', execution_id: '<string>', input: {}, model_name: 'base'})
};
fetch('https://agents.bigdata.com/v1/workflow/execute/async', 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",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'template' => '<string>',
'execution_id' => '<string>',
'input' => [
],
'model_name' => 'base'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://agents.bigdata.com/v1/workflow/execute/async"
payload := strings.NewReader("{\n \"template\": \"<string>\",\n \"execution_id\": \"<string>\",\n \"input\": {},\n \"model_name\": \"base\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://agents.bigdata.com/v1/workflow/execute/async")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"template\": \"<string>\",\n \"execution_id\": \"<string>\",\n \"input\": {},\n \"model_name\": \"base\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://agents.bigdata.com/v1/workflow/execute/async")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"template\": \"<string>\",\n \"execution_id\": \"<string>\",\n \"input\": {},\n \"model_name\": \"base\"\n}"
response = http.request(request)
puts response.read_body{
"execution_id": "<string>",
"status": "pending"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"ctx": {},
"input": "<unknown>"
}
]
}Submit Workflow
Submit a workflow that runs independently of your connection, and return immediately with its execution_id. Use this endpoint for production integrations: the run is unaffected if your client disconnects, and its result is always stored.
Poll GET /v1/workflow/executions/{execution_id} for status and the result, or attach to the event stream for live progress. To continue a run that stopped before it finished, pass its execution_id.
curl --request POST \
--url https://agents.bigdata.com/v1/workflow/execute/async \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"template": "<string>",
"execution_id": "<string>",
"input": {},
"model_name": "base"
}
'import requests
url = "https://agents.bigdata.com/v1/workflow/execute/async"
payload = {
"template": "<string>",
"execution_id": "<string>",
"input": {},
"model_name": "base"
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({template: '<string>', execution_id: '<string>', input: {}, model_name: 'base'})
};
fetch('https://agents.bigdata.com/v1/workflow/execute/async', 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",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'template' => '<string>',
'execution_id' => '<string>',
'input' => [
],
'model_name' => 'base'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://agents.bigdata.com/v1/workflow/execute/async"
payload := strings.NewReader("{\n \"template\": \"<string>\",\n \"execution_id\": \"<string>\",\n \"input\": {},\n \"model_name\": \"base\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://agents.bigdata.com/v1/workflow/execute/async")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"template\": \"<string>\",\n \"execution_id\": \"<string>\",\n \"input\": {},\n \"model_name\": \"base\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://agents.bigdata.com/v1/workflow/execute/async")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"template\": \"<string>\",\n \"execution_id\": \"<string>\",\n \"input\": {},\n \"model_name\": \"base\"\n}"
response = http.request(request)
puts response.read_body{
"execution_id": "<string>",
"status": "pending"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"ctx": {},
"input": "<unknown>"
}
]
}Body
Request to submit a workflow that runs independently of your connection.
Runs submitted this way are always stored, so persistence_mode is not
accepted here. Read the result with the execution retrieval endpoint, and
delete the run when you no longer need it.
Selects the model capability tier. Use "base" for the default routing strategy, or "pro" to allow the most capable available model when higher reasoning or accuracy is required. Model selection is dynamic and may vary based on task type, availability, and failover.
base, pro Response
The workflow was accepted and is now running.
Acknowledgement that a workflow was accepted and is now running.
Was this page helpful?