---
title: "Create Web Search Agent"
method: POST
path: "/v1/task-agents"
tags: ["Web Search Agents"]
---

# Create Web Search Agent

`POST /v1/task-agents`

Create a new workspace-scoped Web Search Agent. Pass `template` to clone from a named template.

## Cookies

- `token` string, nullable

## Request body

- AgentCreateRequest
  - `agent_name` string, nullable
  - `description` string, nullable
  - `display_name` string, nullable
  - `domain_expertise` string, nullable
  - `effort` string
  - `goals` string[]
  - `icon` string, nullable
  - `is_active` boolean
  - `output_schema` object, nullable
  - `sources` AgentSources
    - `allow` AgentSourceCreateRequest[]
      - `domains` string[], required
      - `order` integer
      - `title` string, required
    - `avoid` string, nullable
    - `block` AgentSourceCreateRequest[]
      - `domains` string[], required
      - `order` integer
      - `title` string, required
    - `prioritize` string, nullable
  - `suggested_questions` string[]
  - `template` string, nullable — Template name to materialise this instance from. When set, scalar fields and child rows are copied from the template.
  - `use_case` 'research' | 'enrichment' | 'dataset_building'
  - `workspace_id` string, uuid, nullable

## Response `201`

Successful Response

- AgentResponse
  - `account_id` string, nullable
  - `agent_name` string, nullable
  - `created_at` string, date-time, required
  - `description` string, required
  - `display_name` string, required
  - `domain_expertise` string, required
  - `effort` string, required
  - `goals` AgentGoalResponse[], required
    - `goal` string, required
    - `id` string, required
    - `order` integer, required
  - `icon` string, required
  - `id` string, required
  - `is_active` boolean, required
  - `output_schema` object, nullable, required
  - `sources` AgentSourcesResponse, required
    - `allow` AgentSourceResponse[]
      - `domains` string[], required
      - `id` string, required
      - `order` integer, required
      - `title` string, required
    - `avoid` string, nullable
    - `block` AgentSourceCreateRequest[]
      - `domains` string[], required
      - `order` integer
      - `title` string, required
    - `prioritize` string, nullable
  - `suggested_questions` AgentSuggestedQuestionResponse[], required
    - `id` string, required
    - `order` integer, required
    - `question` string, required
  - `updated_at` string, date-time, required
  - `use_case` 'research' | 'enrichment' | 'dataset_building', required
  - `workspace_id` string, uuid, nullable
  - `workspace_name` string, nullable

## Other responses

- `422` — Validation Error

## Changes

- **2026-06-18** `2562e655b8f2` — 2 breaking, 8 info
  - the `sources` request property type changed from `array` to `object`
  - the `sources` response's property type changed from `array` to `object` for status `201`
  - added the new optional request property `sources/allow`
  - added the new optional request property `sources/avoid`
  - …6 more
- **2026-06-10** `421a9851d61b` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/nimbleway/apis/api-gateway/changes/v1/task-agents/post.md)

---

[API](https://skmtc.dev/nimbleway/apis/api-gateway.md) · [All operations](https://skmtc.dev/nimbleway/apis/api-gateway/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/nimbleway/api-gateway/revisions/ebe52c375b71/schema)
