curl --request POST \
--url https://sdk.nimbleway.com/v2/agents/runs \
--header 'Content-Type: application/json' \
--data '
{
"input": "Find the 10 fastest growing AI startups in Europe and their latest funding rounds.",
"agent_name": "<string>",
"enable_events": false,
"input_data": [
{}
],
"output_schema": {},
"previous_interaction_id": "<string>",
"skill": "<string>",
"sources": {
"allow": [
{
"domains": [
"linkedin.com",
"crunchbase.com"
],
"title": "Professional networks",
"order": 0
}
],
"avoid": "<string>",
"block": [
{
"domains": [
"linkedin.com",
"crunchbase.com"
],
"title": "Professional networks",
"order": 0
}
],
"prioritize": "<string>"
}
}
'import requests
url = "https://sdk.nimbleway.com/v2/agents/runs"
payload = {
"input": "Find the 10 fastest growing AI startups in Europe and their latest funding rounds.",
"agent_name": "<string>",
"enable_events": False,
"input_data": [{}],
"output_schema": {},
"previous_interaction_id": "<string>",
"skill": "<string>",
"sources": {
"allow": [
{
"domains": ["linkedin.com", "crunchbase.com"],
"title": "Professional networks",
"order": 0
}
],
"avoid": "<string>",
"block": [
{
"domains": ["linkedin.com", "crunchbase.com"],
"title": "Professional networks",
"order": 0
}
],
"prioritize": "<string>"
}
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
input: 'Find the 10 fastest growing AI startups in Europe and their latest funding rounds.',
agent_name: '<string>',
enable_events: false,
input_data: [{}],
output_schema: {},
previous_interaction_id: '<string>',
skill: '<string>',
sources: {
allow: [
{
domains: ['linkedin.com', 'crunchbase.com'],
title: 'Professional networks',
order: 0
}
],
avoid: '<string>',
block: [
{
domains: ['linkedin.com', 'crunchbase.com'],
title: 'Professional networks',
order: 0
}
],
prioritize: '<string>'
}
})
};
fetch('https://sdk.nimbleway.com/v2/agents/runs', 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://sdk.nimbleway.com/v2/agents/runs",
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([
'input' => 'Find the 10 fastest growing AI startups in Europe and their latest funding rounds.',
'agent_name' => '<string>',
'enable_events' => false,
'input_data' => [
[
]
],
'output_schema' => [
],
'previous_interaction_id' => '<string>',
'skill' => '<string>',
'sources' => [
'allow' => [
[
'domains' => [
'linkedin.com',
'crunchbase.com'
],
'title' => 'Professional networks',
'order' => 0
]
],
'avoid' => '<string>',
'block' => [
[
'domains' => [
'linkedin.com',
'crunchbase.com'
],
'title' => 'Professional networks',
'order' => 0
]
],
'prioritize' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$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://sdk.nimbleway.com/v2/agents/runs"
payload := strings.NewReader("{\n \"input\": \"Find the 10 fastest growing AI startups in Europe and their latest funding rounds.\",\n \"agent_name\": \"<string>\",\n \"enable_events\": false,\n \"input_data\": [\n {}\n ],\n \"output_schema\": {},\n \"previous_interaction_id\": \"<string>\",\n \"skill\": \"<string>\",\n \"sources\": {\n \"allow\": [\n {\n \"domains\": [\n \"linkedin.com\",\n \"crunchbase.com\"\n ],\n \"title\": \"Professional networks\",\n \"order\": 0\n }\n ],\n \"avoid\": \"<string>\",\n \"block\": [\n {\n \"domains\": [\n \"linkedin.com\",\n \"crunchbase.com\"\n ],\n \"title\": \"Professional networks\",\n \"order\": 0\n }\n ],\n \"prioritize\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
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://sdk.nimbleway.com/v2/agents/runs")
.header("Content-Type", "application/json")
.body("{\n \"input\": \"Find the 10 fastest growing AI startups in Europe and their latest funding rounds.\",\n \"agent_name\": \"<string>\",\n \"enable_events\": false,\n \"input_data\": [\n {}\n ],\n \"output_schema\": {},\n \"previous_interaction_id\": \"<string>\",\n \"skill\": \"<string>\",\n \"sources\": {\n \"allow\": [\n {\n \"domains\": [\n \"linkedin.com\",\n \"crunchbase.com\"\n ],\n \"title\": \"Professional networks\",\n \"order\": 0\n }\n ],\n \"avoid\": \"<string>\",\n \"block\": [\n {\n \"domains\": [\n \"linkedin.com\",\n \"crunchbase.com\"\n ],\n \"title\": \"Professional networks\",\n \"order\": 0\n }\n ],\n \"prioritize\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sdk.nimbleway.com/v2/agents/runs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"input\": \"Find the 10 fastest growing AI startups in Europe and their latest funding rounds.\",\n \"agent_name\": \"<string>\",\n \"enable_events\": false,\n \"input_data\": [\n {}\n ],\n \"output_schema\": {},\n \"previous_interaction_id\": \"<string>\",\n \"skill\": \"<string>\",\n \"sources\": {\n \"allow\": [\n {\n \"domains\": [\n \"linkedin.com\",\n \"crunchbase.com\"\n ],\n \"title\": \"Professional networks\",\n \"order\": 0\n }\n ],\n \"avoid\": \"<string>\",\n \"block\": [\n {\n \"domains\": [\n \"linkedin.com\",\n \"crunchbase.com\"\n ],\n \"title\": \"Professional networks\",\n \"order\": 0\n }\n ],\n \"prioritize\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"created_at": "2023-11-07T05:31:56Z",
"effort": "high",
"id": "task_run_c0ffee00-0000-4000-8000-000000000000",
"interaction_id": "<string>",
"is_active": true,
"status": "queued",
"web_search_agent_id": "wsa_2af5b0e2-58b8-4b60-a1a4-9e57e4d33f00",
"completed_at": "2023-11-07T05:31:56Z",
"error": {
"message": "<string>",
"ref_id": "<string>"
},
"prompt": "<string>",
"started_at": "2023-11-07T05:31:56Z"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"ctx": {},
"input": "<unknown>"
}
]
}Create Run
Creates a minimal persistent Web Search Agent and starts a run for it. The response includes web_search_agent_id for later agent and run queries.
curl --request POST \
--url https://sdk.nimbleway.com/v2/agents/runs \
--header 'Content-Type: application/json' \
--data '
{
"input": "Find the 10 fastest growing AI startups in Europe and their latest funding rounds.",
"agent_name": "<string>",
"enable_events": false,
"input_data": [
{}
],
"output_schema": {},
"previous_interaction_id": "<string>",
"skill": "<string>",
"sources": {
"allow": [
{
"domains": [
"linkedin.com",
"crunchbase.com"
],
"title": "Professional networks",
"order": 0
}
],
"avoid": "<string>",
"block": [
{
"domains": [
"linkedin.com",
"crunchbase.com"
],
"title": "Professional networks",
"order": 0
}
],
"prioritize": "<string>"
}
}
'import requests
url = "https://sdk.nimbleway.com/v2/agents/runs"
payload = {
"input": "Find the 10 fastest growing AI startups in Europe and their latest funding rounds.",
"agent_name": "<string>",
"enable_events": False,
"input_data": [{}],
"output_schema": {},
"previous_interaction_id": "<string>",
"skill": "<string>",
"sources": {
"allow": [
{
"domains": ["linkedin.com", "crunchbase.com"],
"title": "Professional networks",
"order": 0
}
],
"avoid": "<string>",
"block": [
{
"domains": ["linkedin.com", "crunchbase.com"],
"title": "Professional networks",
"order": 0
}
],
"prioritize": "<string>"
}
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
input: 'Find the 10 fastest growing AI startups in Europe and their latest funding rounds.',
agent_name: '<string>',
enable_events: false,
input_data: [{}],
output_schema: {},
previous_interaction_id: '<string>',
skill: '<string>',
sources: {
allow: [
{
domains: ['linkedin.com', 'crunchbase.com'],
title: 'Professional networks',
order: 0
}
],
avoid: '<string>',
block: [
{
domains: ['linkedin.com', 'crunchbase.com'],
title: 'Professional networks',
order: 0
}
],
prioritize: '<string>'
}
})
};
fetch('https://sdk.nimbleway.com/v2/agents/runs', 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://sdk.nimbleway.com/v2/agents/runs",
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([
'input' => 'Find the 10 fastest growing AI startups in Europe and their latest funding rounds.',
'agent_name' => '<string>',
'enable_events' => false,
'input_data' => [
[
]
],
'output_schema' => [
],
'previous_interaction_id' => '<string>',
'skill' => '<string>',
'sources' => [
'allow' => [
[
'domains' => [
'linkedin.com',
'crunchbase.com'
],
'title' => 'Professional networks',
'order' => 0
]
],
'avoid' => '<string>',
'block' => [
[
'domains' => [
'linkedin.com',
'crunchbase.com'
],
'title' => 'Professional networks',
'order' => 0
]
],
'prioritize' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$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://sdk.nimbleway.com/v2/agents/runs"
payload := strings.NewReader("{\n \"input\": \"Find the 10 fastest growing AI startups in Europe and their latest funding rounds.\",\n \"agent_name\": \"<string>\",\n \"enable_events\": false,\n \"input_data\": [\n {}\n ],\n \"output_schema\": {},\n \"previous_interaction_id\": \"<string>\",\n \"skill\": \"<string>\",\n \"sources\": {\n \"allow\": [\n {\n \"domains\": [\n \"linkedin.com\",\n \"crunchbase.com\"\n ],\n \"title\": \"Professional networks\",\n \"order\": 0\n }\n ],\n \"avoid\": \"<string>\",\n \"block\": [\n {\n \"domains\": [\n \"linkedin.com\",\n \"crunchbase.com\"\n ],\n \"title\": \"Professional networks\",\n \"order\": 0\n }\n ],\n \"prioritize\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
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://sdk.nimbleway.com/v2/agents/runs")
.header("Content-Type", "application/json")
.body("{\n \"input\": \"Find the 10 fastest growing AI startups in Europe and their latest funding rounds.\",\n \"agent_name\": \"<string>\",\n \"enable_events\": false,\n \"input_data\": [\n {}\n ],\n \"output_schema\": {},\n \"previous_interaction_id\": \"<string>\",\n \"skill\": \"<string>\",\n \"sources\": {\n \"allow\": [\n {\n \"domains\": [\n \"linkedin.com\",\n \"crunchbase.com\"\n ],\n \"title\": \"Professional networks\",\n \"order\": 0\n }\n ],\n \"avoid\": \"<string>\",\n \"block\": [\n {\n \"domains\": [\n \"linkedin.com\",\n \"crunchbase.com\"\n ],\n \"title\": \"Professional networks\",\n \"order\": 0\n }\n ],\n \"prioritize\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sdk.nimbleway.com/v2/agents/runs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"input\": \"Find the 10 fastest growing AI startups in Europe and their latest funding rounds.\",\n \"agent_name\": \"<string>\",\n \"enable_events\": false,\n \"input_data\": [\n {}\n ],\n \"output_schema\": {},\n \"previous_interaction_id\": \"<string>\",\n \"skill\": \"<string>\",\n \"sources\": {\n \"allow\": [\n {\n \"domains\": [\n \"linkedin.com\",\n \"crunchbase.com\"\n ],\n \"title\": \"Professional networks\",\n \"order\": 0\n }\n ],\n \"avoid\": \"<string>\",\n \"block\": [\n {\n \"domains\": [\n \"linkedin.com\",\n \"crunchbase.com\"\n ],\n \"title\": \"Professional networks\",\n \"order\": 0\n }\n ],\n \"prioritize\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"created_at": "2023-11-07T05:31:56Z",
"effort": "high",
"id": "task_run_c0ffee00-0000-4000-8000-000000000000",
"interaction_id": "<string>",
"is_active": true,
"status": "queued",
"web_search_agent_id": "wsa_2af5b0e2-58b8-4b60-a1a4-9e57e4d33f00",
"completed_at": "2023-11-07T05:31:56Z",
"error": {
"message": "<string>",
"ref_id": "<string>"
},
"prompt": "<string>",
"started_at": "2023-11-07T05:31:56Z"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"ctx": {},
"input": "<unknown>"
}
]
}Body
User prompt or task instructions for the run.
"Find the 10 fastest growing AI startups in Europe and their latest funding rounds."
Stable agent name. On this no-agent-id route, an unseen name creates a new agent; an existing name reuses it. Ignored on the /{agent_id}/runs route.
Effort level overriding the agent default for this run.
low, medium, high, x-high, max Whether to stream run events when supported.
- Input Data · object[]
- Input Data · object
JSON schema overriding the agent's default structured output for this run.
Previous interaction identifier used to continue a conversation.
Skill override for this run. One-time only, except when this run creates a new agent via agent_name, in which case it becomes the new agent's stored skill.
Source guidance overriding the agent default.
Show child attributes
Show child attributes
Only settable when this run creates a new agent (via agent_name, or when no agent is resolved), in which case it becomes the new agent's stored use_case. For a run against an existing agent, this must match the agent's own use_case - passing the same value is accepted as a no-op, a different value is rejected.
research, enrichment, dataset_building Response
Successful Response
When the run was created.
Effort level used for the run.
low, medium, high, x-high, max "high"
Run identifier, format "task_run_{uuid}".
"task_run_c0ffee00-0000-4000-8000-000000000000"
Interaction ID.
True while status is 'queued' or 'running'.
Current run status.
queued, running, completed, failed, cancelled "queued"
Web Search Agent instance this run belongs to.
"wsa_2af5b0e2-58b8-4b60-a1a4-9e57e4d33f00"
When the run completed.
Error details when the run failed.
Show child attributes
Show child attributes
Prompt submitted for the run.
When the run started executing.
Was this page helpful?