---
title: "Create Agent"
method: POST
path: "/v1/task-agents"
tags: ["Web Search Agents (public)"]
deprecated: true
---

# Create Agent

`POST /v1/task-agents`

> **Deprecated.**

Create a Web Search Agent instance.

``account_id`` is JWT-derived and never read from the request body.

## Request body

- WebSearchAgentCreateRequestPublicV1
  - `agent_name` string, nullable — Stable agent name.
  - `description` string, nullable — Agent description shown to users.
  - `display_name` string, nullable — Human-friendly agent name shown to users.
  - `domain_expertise` string, nullable — Domain expertise or operating context for the agent.
  - `effort` 'low' | 'medium' | 'high' | 'x-high' | 'max' — Canonical effort tier names for the research graph.
  - `goals` string[] — Ordered goals for the agent to follow.
  - `icon` string, nullable — Icon identifier used when presenting the agent.
  - `is_active` boolean — Whether the agent can be used to start new runs.
  - `output_schema` object, nullable — JSON schema describing the structured output the agent should produce.
  - `sources` AgentSourcesPublicV1
    - `allow` WebSearchAgentSourceCreateRequestPublicV1[] — Source groups the agent is allowed to use.
      - `domains` string[], required — Domains included in this source group.
      - `order` integer — Zero-based source group position.
      - `title` string, required — Source group title.
    - `avoid` string, nullable — Free-text guidance describing sources or domains to avoid.
    - `block` WebSearchAgentSourceCreateRequestPublicV1[] — Source groups the agent should not use.
      - `domains` string[], required — Domains included in this source group.
      - `order` integer — Zero-based source group position.
      - `title` string, required — Source group title.
    - `prioritize` string, nullable — Free-text guidance describing sources or domains to prioritize.
  - `suggested_questions` string[] — Suggested prompts users can run with this agent.
  - `template` string, nullable — Template name to materialize this instance from. When set, the scalar fields and child rows are copied from the template.
  - `use_case` 'research' | 'enrichment' | 'dataset_building'

## Response `201`

Successful Response

- WebSearchAgentResponsePublicV1
  - `agent_name` string, nullable — Stable agent name.
  - `created_at` string, date-time, required — When the agent was created.
  - `description` string, required — Agent description shown to users.
  - `display_name` string, required — Human-friendly agent name shown to users.
  - `domain_expertise` string, required — Domain expertise or operating context for the agent.
  - `effort` 'low' | 'medium' | 'high' | 'x-high' | 'max', required — Canonical effort tier names for the research graph.
  - `goals` WebSearchAgentGoalResponsePublicV1[], required — Ordered goals for the agent to follow.
    - `goal` string, required — Goal text.
    - `id` string, required — Unique goal identifier (wsag_<uuid>).
    - `order` integer, required — Zero-based goal position.
  - `icon` string, required — Icon identifier used when presenting the agent.
  - `id` string, required — Unique web search agent identifier (wsa_<uuid>).
  - `is_active` boolean, required — Whether the agent can be used to start new runs.
  - `output_schema` object, nullable, required — JSON schema describing the structured output the agent should produce.
  - `sources` AgentSourcesResponsePublicV1, required
    - `allow` WebSearchAgentSourceResponsePublicV1[] — Source groups the agent is allowed to use.
      - `domains` string[], required — Domains included in this source group.
      - `id` string, required — Unique source group identifier (wsas_<uuid>).
      - `order` integer, required — Zero-based source group position.
      - `title` string, required — Source group title.
    - `avoid` string, nullable — Free-text guidance describing sources or domains to avoid.
    - `block` WebSearchAgentSourceResponsePublicV1[] — Source groups the agent should not use.
      - `domains` string[], required — Domains included in this source group.
      - `id` string, required — Unique source group identifier (wsas_<uuid>).
      - `order` integer, required — Zero-based source group position.
      - `title` string, required — Source group title.
    - `prioritize` string, nullable — Free-text guidance describing sources or domains to prioritize.
  - `suggested_questions` WebSearchAgentSuggestedQuestionResponsePublicV1[], required — Suggested prompts users can run with this agent.
    - `id` string, required — Unique suggested question identifier (wsasq_<uuid>).
    - `order` integer, required — Zero-based suggested question position.
    - `question` string, required — Suggested prompt text.
  - `updated_at` string, date-time, required — When the agent was last updated.
  - `use_case` 'research' | 'enrichment' | 'dataset_building', required

## Other responses

- `422` — Validation Error

## Changes

- **2026-07-20** `d4e4f170f4f4` — 3 warning, 5 info
  - removed the request property `workspace_id`
  - removed the optional property `account_id` from the response with the `201` status
  - removed the optional property `workspace_id` from the response with the `201` status
  - api operation id `create_agent_api_v2_public_web_search_agents_post` removed and replaced with `create_agent_public_v1_api_v1_public_web_search_agents_post`
  - …4 more
- **2026-07-12** `e8a97dc9fce2` — 2 breaking, 7 warning, 14 info
  - removed `#/components/schemas/AgentUseCase` from the `use_case` request property `anyOf` list
  - request property `effort` was restricted to a list of enum values
  - deleted the `cookie` request parameter `token`
  - removed the optional property `workspace_name` from the response with the `201` status
  - …19 more
- **2026-06-18** `2562e655b8f2` — 2 breaking, 8 info
  - the `sources` request property type/format changed from `array`/`` to `object`/``
  - the `sources` response's property type/format 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/d4e4f170f4f4/schema)
