This is a beta feature according to Algolia’s Terms of Service (“Beta Services”).
search
This endpoint handles two types of requests:
- Normal completion request: User message -> Agent response
- Tool approval response: User approval -> Execute tool -> Agent response
- Request 1: User sends message -> Agent requests tool call -> Return approval request
- Request 2: User approves -> Execute tool -> Agent continues with result.
Usage
// Initialize the client
var client = new AgentStudioClient(
new AgentStudioConfig("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY")
);
// Call the API
var response = await client.CreateAgentCompletionAsync(
"76710f1b-8231-42e5-b0d1-f43aac618e15",
Enum.Parse<CompatibilityMode>("AiSdk4"),
new AgentCompletionRequest
{
Messages = new MessagesUnion(
new List<MessageV4>
{
new MessageV4(new UserMessageV4 { Role = "user", Content = "Hello, how are you?" }),
}
),
}
);
// 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.createAgentCompletion(
agentId: "76710f1b-8231-42e5-b0d1-f43aac618e15",
compatibilityMode: CompatibilityMode.fromJson("ai-sdk-4"),
agentCompletionRequest: AgentCompletionRequest(
messages: [
UserMessageV4(
role: "user",
content: "Hello, how are you?",
),
],
),
);
// 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)
}
// Call the API
response, err := client.CreateAgentCompletion(client.NewApiCreateAgentCompletionRequest(
"76710f1b-8231-42e5-b0d1-f43aac618e15", agentStudio.CompatibilityMode("ai-sdk-4"),
agentStudio.NewEmptyAgentCompletionRequest().SetMessages(agentStudio.ArrayOfMessageV4AsMessagesUnion(
[]agentStudio.MessageV4{*agentStudio.UserMessageV4AsMessageV4(
agentStudio.NewEmptyUserMessageV4().SetRole("user").SetContent("Hello, how are you?"))}))))
if err != nil {
// handle the eventual error
panic(err)
}
// print the response
print(response)
// Initialize the client
AgentStudioClient client = new AgentStudioClient("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY");
// Call the API
Map response = client.createAgentCompletion(
"76710f1b-8231-42e5-b0d1-f43aac618e15",
CompatibilityMode.AI_SDK_4,
new AgentCompletionRequest().setMessages(
MessagesUnion.ofListOfMessageV4(Arrays.asList(new UserMessageV4().setRole("user").setContent("Hello, how are you?")))
)
);
// print the response
System.out.println(response);
// Initialize the client
const client = agentStudioClient('ALGOLIA_APPLICATION_ID', 'ALGOLIA_API_KEY');
// Call the API
// Use the streaming variant to iterate over events
for await (const event of client.createAgentCompletionStream({
agentId: '76710f1b-8231-42e5-b0d1-f43aac618e15',
compatibilityMode: 'ai-sdk-4',
agentCompletionRequest: { messages: [{ role: 'user', content: 'Hello, how are you?' }] },
})) {
console.log(event.data);
}
// Initialize the client
val client = AgentStudioClient(appId = "ALGOLIA_APPLICATION_ID", apiKey = "ALGOLIA_API_KEY")
// Call the API
var response =
client.createAgentCompletion(
agentId = "76710f1b-8231-42e5-b0d1-f43aac618e15",
compatibilityMode = CompatibilityMode.entries.first { it.value == "ai-sdk-4" },
agentCompletionRequest =
AgentCompletionRequest(
messages =
MessagesUnion.ofListOfMessageV4(
listOf(UserMessageV4(role = "user", content = "Hello, how are you?"))
)
),
)
// print the response
println(response)
// Initialize the client
$client = AgentStudioClient::create('ALGOLIA_APPLICATION_ID', 'ALGOLIA_API_KEY');
// Call the API
$response = $client->createAgentCompletion(
'76710f1b-8231-42e5-b0d1-f43aac618e15',
'ai-sdk-4',
['messages' => [
['role' => 'user',
'content' => 'Hello, how are you?',
],
],
],
);
// 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")
# Call the API
# Use the streaming variant to iterate over events
for event in client.create_agent_completion_stream(
agent_id="76710f1b-8231-42e5-b0d1-f43aac618e15",
compatibility_mode="ai-sdk-4",
agent_completion_request={
"messages": [
{
"role": "user",
"content": "Hello, how are you?",
},
],
},
):
print(event.data)
# Initialize the client
client = Algolia::AgentStudioClient.create("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY")
# Call the API
response = client.create_agent_completion(
"76710f1b-8231-42e5-b0d1-f43aac618e15",
"ai-sdk-4",
Algolia::AgentStudio::AgentCompletionRequest.new(
messages: [Algolia::AgentStudio::UserMessageV4.new(role: "user", content: "Hello, how are you?")]
)
)
# 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.createAgentCompletion(
agentId = "76710f1b-8231-42e5-b0d1-f43aac618e15",
compatibilityMode = CompatibilityMode.withName("ai-sdk-4"),
agentCompletionRequest = AgentCompletionRequest(
messages = Some(
MessagesUnion(
Seq(
UserMessageV4(
role = "user",
content = "Hello, how are you?"
)
)
)
)
)
),
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.createAgentCompletion(
agentId: "76710f1b-8231-42e5-b0d1-f43aac618e15",
compatibilityMode: CompatibilityMode.aiSdk4,
agentCompletionRequest: AgentCompletionRequest(messages: MessagesUnion
.arrayOfMessageV4([MessageV4.userMessageV4(UserMessageV4(
role: "user",
content: "Hello, how are you?"
))]))
)
// print the response
print(response)
See the full API reference
For more details about input parameters
and response fields.