curl --request POST \
--url 'https://example.algolia.net/agent-studio/1/agents/lorem/tasks?stream=false&cache=true&analytics=true' \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--header 'x-algolia-api-key: ALGOLIA_API_KEY' \
--header 'x-algolia-application-id: ALGOLIA_APPLICATION_ID' \
--data '
{
"task": "algolia_on_page_suggestions",
"kind": "prompt_suggestions",
"input": {},
"configuration": {
"id": null,
"providerId": null,
"model": null,
"instructions": "lorem",
"systemPrompt": null,
"config": {},
"tools": [
{
"name": "lorem",
"type": "client_side",
"description": "lorem",
"inputSchema": {
"type": "object",
"properties": {},
"required": [
"lorem"
]
},
"isTerminal": false
}
]
}
}
'// Initialize the client
var client = new AgentStudioClient(
new AgentStudioConfig("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY")
);
// Call the API
var response = await client.CreateAgentTaskAsync(
"76710f1b-8231-42e5-b0d1-f43aac618e15",
new TaskRequest
{
Input = new Dictionary<string, object>
{
{ "pageType", "pdp" },
{ "title", "acmePhone128Gb" },
},
}
);
// print the response
Console.WriteLine(response);// Initialize the client
final client = AgentStudioClient(
appId: 'ALGOLIA_APPLICATION_ID', apiKey: 'ALGOLIA_API_KEY');
// Call the API
final response = await client.createAgentTask(
agentId: "76710f1b-8231-42e5-b0d1-f43aac618e15",
taskRequest: TaskRequest(
input: {
'pageType': "pdp",
'title': "acmePhone128Gb",
},
),
);
// print the response
print(response);// Initialize the client
client, err := agentStudio.NewClient("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY")
if err != nil {
// The client can fail to initialize if you pass an invalid parameter.
panic(err)
}
// Use the streaming variant to iterate over events
stream, err := client.CreateAgentTaskStream(client.NewApiCreateAgentTaskRequest(
"76710f1b-8231-42e5-b0d1-f43aac618e15",
agentStudio.NewEmptyTaskRequest().SetInput(map[string]any{"pageType": "pdp", "title": "acmePhone128Gb"})))
if err != nil {
// handle the eventual error
panic(err)
}
defer func() { _ = stream.Close() }()
for stream.Next() {
event := stream.Current()
if event.Err != nil {
// handle the eventual per-event deserialization error
continue
}
fmt.Println(*event.Data)
}
err = stream.Err()
if err != nil {
// handle the eventual error
panic(err)
}// Initialize the client
AgentStudioClient client = new AgentStudioClient("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY");
// Call the API
TaskResponse response = client.createAgentTask(
"76710f1b-8231-42e5-b0d1-f43aac618e15",
new TaskRequest().setInput(
new HashMap() {
{
put("pageType", "pdp");
put("title", "acmePhone128Gb");
}
}
)
);
// print the response
System.out.println(response);// Initialize the client
const client = agentStudioClient('ALGOLIA_APPLICATION_ID', 'ALGOLIA_API_KEY');
// Use the streaming variant to iterate over events
for await (const event of client.createAgentTaskStream({
agentId: '76710f1b-8231-42e5-b0d1-f43aac618e15',
taskRequest: { input: { pageType: 'pdp', title: 'acmePhone128Gb' } },
})) {
console.log(event.data);
}// Initialize the client
val client = AgentStudioClient(appId = "ALGOLIA_APPLICATION_ID", apiKey = "ALGOLIA_API_KEY")
// Call the API
var response =
client.createAgentTask(
agentId = "76710f1b-8231-42e5-b0d1-f43aac618e15",
taskRequest =
TaskRequest(
input =
buildJsonObject {
put("pageType", JsonPrimitive("pdp"))
put("title", JsonPrimitive("acmePhone128Gb"))
}
),
)
// print the response
println(response)// Initialize the client
$client = AgentStudioClient::create('ALGOLIA_APPLICATION_ID', 'ALGOLIA_API_KEY');
// Call the API
$response = $client->createAgentTask(
'76710f1b-8231-42e5-b0d1-f43aac618e15',
['input' => ['pageType' => 'pdp',
'title' => 'acmePhone128Gb',
],
],
);
// print the response
var_dump($response);# Initialize the client
# In an asynchronous context, you can use AgentStudioClient instead, which exposes the exact same methods.
client = AgentStudioClientSync("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY")
# Use the streaming variant to iterate over events
for event in client.create_agent_task_stream(
agent_id="76710f1b-8231-42e5-b0d1-f43aac618e15",
task_request={
"input": {
"pageType": "pdp",
"title": "acmePhone128Gb",
},
},
):
print(event.data)# Initialize the client
client = Algolia::AgentStudioClient.create("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY")
# Call the API
response = client.create_agent_task(
"76710f1b-8231-42e5-b0d1-f43aac618e15",
Algolia::AgentStudio::TaskRequest.new(input: {pageType: "pdp", title: "acmePhone128Gb"})
)
# print the response
puts(response)// Initialize the client
val client = AgentStudioClient(appId = "ALGOLIA_APPLICATION_ID", apiKey = "ALGOLIA_API_KEY")
// Call the API
val response = Await.result(
client.createAgentTask(
agentId = "76710f1b-8231-42e5-b0d1-f43aac618e15",
taskRequest = TaskRequest(
input = Map("pageType" -> "pdp", "title" -> "acmePhone128Gb")
)
),
Duration(100, "sec")
)
// print the response
println(response)// Initialize the client
let client = try AgentStudioClient(appID: "ALGOLIA_APPLICATION_ID", apiKey: "ALGOLIA_API_KEY")
// Call the API
let response = try await client.createAgentTask(
agentId: "76710f1b-8231-42e5-b0d1-f43aac618e15",
taskRequest: TaskRequest(input: ["pageType": AnyCodable("pdp"), "title": AnyCodable("acmePhone128Gb")])
)
// print the response
print(response){
"output": {}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Run Task
Run a configured task and return the generated object as .
curl --request POST \
--url 'https://example.algolia.net/agent-studio/1/agents/lorem/tasks?stream=false&cache=true&analytics=true' \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--header 'x-algolia-api-key: ALGOLIA_API_KEY' \
--header 'x-algolia-application-id: ALGOLIA_APPLICATION_ID' \
--data '
{
"task": "algolia_on_page_suggestions",
"kind": "prompt_suggestions",
"input": {},
"configuration": {
"id": null,
"providerId": null,
"model": null,
"instructions": "lorem",
"systemPrompt": null,
"config": {},
"tools": [
{
"name": "lorem",
"type": "client_side",
"description": "lorem",
"inputSchema": {
"type": "object",
"properties": {},
"required": [
"lorem"
]
},
"isTerminal": false
}
]
}
}
'// Initialize the client
var client = new AgentStudioClient(
new AgentStudioConfig("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY")
);
// Call the API
var response = await client.CreateAgentTaskAsync(
"76710f1b-8231-42e5-b0d1-f43aac618e15",
new TaskRequest
{
Input = new Dictionary<string, object>
{
{ "pageType", "pdp" },
{ "title", "acmePhone128Gb" },
},
}
);
// print the response
Console.WriteLine(response);// Initialize the client
final client = AgentStudioClient(
appId: 'ALGOLIA_APPLICATION_ID', apiKey: 'ALGOLIA_API_KEY');
// Call the API
final response = await client.createAgentTask(
agentId: "76710f1b-8231-42e5-b0d1-f43aac618e15",
taskRequest: TaskRequest(
input: {
'pageType': "pdp",
'title': "acmePhone128Gb",
},
),
);
// print the response
print(response);// Initialize the client
client, err := agentStudio.NewClient("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY")
if err != nil {
// The client can fail to initialize if you pass an invalid parameter.
panic(err)
}
// Use the streaming variant to iterate over events
stream, err := client.CreateAgentTaskStream(client.NewApiCreateAgentTaskRequest(
"76710f1b-8231-42e5-b0d1-f43aac618e15",
agentStudio.NewEmptyTaskRequest().SetInput(map[string]any{"pageType": "pdp", "title": "acmePhone128Gb"})))
if err != nil {
// handle the eventual error
panic(err)
}
defer func() { _ = stream.Close() }()
for stream.Next() {
event := stream.Current()
if event.Err != nil {
// handle the eventual per-event deserialization error
continue
}
fmt.Println(*event.Data)
}
err = stream.Err()
if err != nil {
// handle the eventual error
panic(err)
}// Initialize the client
AgentStudioClient client = new AgentStudioClient("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY");
// Call the API
TaskResponse response = client.createAgentTask(
"76710f1b-8231-42e5-b0d1-f43aac618e15",
new TaskRequest().setInput(
new HashMap() {
{
put("pageType", "pdp");
put("title", "acmePhone128Gb");
}
}
)
);
// print the response
System.out.println(response);// Initialize the client
const client = agentStudioClient('ALGOLIA_APPLICATION_ID', 'ALGOLIA_API_KEY');
// Use the streaming variant to iterate over events
for await (const event of client.createAgentTaskStream({
agentId: '76710f1b-8231-42e5-b0d1-f43aac618e15',
taskRequest: { input: { pageType: 'pdp', title: 'acmePhone128Gb' } },
})) {
console.log(event.data);
}// Initialize the client
val client = AgentStudioClient(appId = "ALGOLIA_APPLICATION_ID", apiKey = "ALGOLIA_API_KEY")
// Call the API
var response =
client.createAgentTask(
agentId = "76710f1b-8231-42e5-b0d1-f43aac618e15",
taskRequest =
TaskRequest(
input =
buildJsonObject {
put("pageType", JsonPrimitive("pdp"))
put("title", JsonPrimitive("acmePhone128Gb"))
}
),
)
// print the response
println(response)// Initialize the client
$client = AgentStudioClient::create('ALGOLIA_APPLICATION_ID', 'ALGOLIA_API_KEY');
// Call the API
$response = $client->createAgentTask(
'76710f1b-8231-42e5-b0d1-f43aac618e15',
['input' => ['pageType' => 'pdp',
'title' => 'acmePhone128Gb',
],
],
);
// print the response
var_dump($response);# Initialize the client
# In an asynchronous context, you can use AgentStudioClient instead, which exposes the exact same methods.
client = AgentStudioClientSync("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY")
# Use the streaming variant to iterate over events
for event in client.create_agent_task_stream(
agent_id="76710f1b-8231-42e5-b0d1-f43aac618e15",
task_request={
"input": {
"pageType": "pdp",
"title": "acmePhone128Gb",
},
},
):
print(event.data)# Initialize the client
client = Algolia::AgentStudioClient.create("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY")
# Call the API
response = client.create_agent_task(
"76710f1b-8231-42e5-b0d1-f43aac618e15",
Algolia::AgentStudio::TaskRequest.new(input: {pageType: "pdp", title: "acmePhone128Gb"})
)
# print the response
puts(response)// Initialize the client
val client = AgentStudioClient(appId = "ALGOLIA_APPLICATION_ID", apiKey = "ALGOLIA_API_KEY")
// Call the API
val response = Await.result(
client.createAgentTask(
agentId = "76710f1b-8231-42e5-b0d1-f43aac618e15",
taskRequest = TaskRequest(
input = Map("pageType" -> "pdp", "title" -> "acmePhone128Gb")
)
),
Duration(100, "sec")
)
// print the response
println(response)// Initialize the client
let client = try AgentStudioClient(appID: "ALGOLIA_APPLICATION_ID", apiKey: "ALGOLIA_API_KEY")
// Call the API
let response = try await client.createAgentTask(
agentId: "76710f1b-8231-42e5-b0d1-f43aac618e15",
taskRequest: TaskRequest(input: ["pageType": AnyCodable("pdp"), "title": AnyCodable("acmePhone128Gb")])
)
// print the response
print(response){
"output": {}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}?stream=true, returns the raw partial JSON text stream expected by
AI SDK v5 useObject. The streamed JSON is the task output itself.
Required ACL: searchAuthorizations
Your Algolia application ID.
Your Algolia API key with the necessary permissions to make the request. Permissions are controlled through access control lists (ACL) and access restrictions. The required ACL to make a request is listed in each endpoint's reference.
Path Parameters
The agentId.
Query Parameters
Set to false to skip endpoint-specific analytics for this task call (default: true). Disables the task analytics event; operational metrics and traces are always emitted.
Use cached responses if available.
Whether to stream the response or not.
Body
Strict request body with a task selector and input.
Unknown top-level fields are rejected so clients cannot pass trusted configuration fields (prompts, schemas, providers, models, generation settings) at runtime.
Arbitrary JSON input passed to the task as data.
Dynamic configuration for testing agents.
Show child attributes
Show child attributes
Supported task behaviors used for default task resolution.
prompt_suggestions ID of the configured task to run.
3 - 64"algolia_on_page_suggestions"
Response
Successful Response.
Response body for a completed task run.
Was this page helpful?