> ## Documentation Index
> Fetch the complete documentation index at: https://www.algolia.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Run Task

> Run a configured task and return the generated object as { output }.

**Required ACL:** `search`

With `?stream=true`, returns the raw partial JSON text stream expected by
AI SDK v5 `useObject`. The streamed JSON is the task output itself.

## Usage

```cs C# theme={"system"}
// 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);
```

```dart Dart theme={"system"}
// 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);
```

```go Go theme={"system"}
// 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)
}
```

```java Java theme={"system"}
// 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);
```

```js JavaScript theme={"system"}
// 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);
}
```

```kotlin Kotlin theme={"system"}
// 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)
```

```php PHP theme={"system"}
// 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);
```

```python Python theme={"system"}
# 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)
```

```ruby Ruby theme={"system"}
# 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)
```

```scala Scala theme={"system"}
// 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)
```

```swift Swift theme={"system"}
// 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)
```

> [card] [See the full API reference](https://www.algolia.com/doc/rest-api/agent-studio/create-agent-task.md)
>
> For more details about input parameters
> and response fields.
