Skip to main content
POST
Create task (stream/json)

Authorizations

Authorization
string
header
required

JWT authentication token

Body

application/json
agent_id
string

Bypass AgentSwarm and route to specific agent

agent_ids
string[]

Array of agent IDs for multi-agent orchestration

ask_question
boolean
default:false

Enable the ask_question tool for the planner with durable DB-backed suspension. When false (default), the tool and its prompt sections are removed entirely so the planner must proceed without asking the user clarifying questions.

auto_execute
boolean
default:false

When mode=plan, auto-execute the plan without waiting for user approval. Omit for goal mode, which is always automatic.

browser_session_refs
string[]

Optional standalone browser session references (brs_) to continue from. With one ref the agent reuses that warm, logged-in browser daemon instead of launching fresh; with multiple, the orchestrator runs one browser subagent per referenced session so each drives its own session. Every ref must exist on the user's sandbox (ownership is validated per ref). Cannot be used with an isolated task.

completion_delivery
enum<string>

Optional. When set, controls how task results are handed off on completion. webhook — POST the completion artifact to the team webhook URL when configured. artifact — persist the completion artifact for GET /api/v1/tasks/{id}/artifacts. When omitted, no completion handoff runs.

Available options:
webhook,
artifact
credential_ref
string

Optional credential that serves the model when several of the account's credentials could, on the BYOK and AI connections model sources. For BYOK it is a provider key ID, a custom endpoint ID (the credential_ref of a GET /api/v1/models row), or a byok: credential reference; for AI connections it is personal or share:<id>. When omitted, a fixed preference applies (a direct vendor key, then Vertex, Bedrock, and the universal gateways, then custom endpoints oldest first) and an AI connection that fails never falls back to a teammate's share. Ignored for the Neo model source.

credits_budget
number<double>
default:500

Maximum Neo credits this execution may consume.

Required range: 1 <= x <= 500
file_keys
string[]

Optional file references

id
string<uuid>

Optional task ID. If omitted or invalid, server generates one.

isolated
boolean
default:false

Run task in an ephemeral sandbox with no prior user context

max_duration_seconds
integer
default:86400

Maximum cumulative active runtime; approval suspension time is excluded.

Required range: 300 <= x <= 86400
max_iterations
integer

Max execution-verification loop iterations for agent/plan modes. Goal mode has a fixed 10-run ceiling and rejects this field. When omitted, defaults to 0 for agent mode (no verification) and 1 for plan mode (single execute + verify cycle). 0 = explicitly skip verification. 1+ = run that many execute+verify cycles.

Required range: 0 <= x <= 5
max_steps
integer

Max LLM steps for execution mode only. Goal mode uses the fixed swarm ceiling of 60 and rejects this field. Does not affect plan or verification phases. Defaults to 45 (direct) or 60 (swarm).

Required range: 4 <= x <= 200
memory_off
boolean
default:false

Disable use of memory from previous tasks for this run. Current-task working memory remains available, while personal, team, and learned project memory are not read or updated. Explicit recall of another task is also blocked.

message
object
mode
enum<string>
default:agent

agent = full tools, chat = limited tools, plan = info-gathering + strategic planning, goal = plan once then autonomously execute and verify until complete

Available options:
agent,
chat,
plan,
goal
model
string

Optional model. If omitted/empty, server resolves default via user/team/tag policy.

Minimum string length: 1
project_id
string<uuid>

Project ID to scope task to. If omitted, task is user-scoped.

reasoning_effort
enum<string>

Optional reasoning effort override for any model that advertises the value. Read capabilities from /api/v1/models for Neo, byok_models for BYOK, or ai_connection_models for AI connections, according to the user's active model source.

Available options:
none,
minimal,
low,
medium,
high,
xhigh,
max
response_format
enum<string>

Optional response mode.

  • sse: stream response events
  • json: immediate acknowledgement with task id/status When omitted, server falls back to Accept header and defaults to sse.
Available options:
sse,
json
sandbox_id
string<uuid>

Optional sandbox to run this task on. Use the id returned by GET /api/v1/sandboxes. When omitted, the Neo-managed cloud sandbox is used. Self-hosted sandboxes require an explicit selection.

schedule
object
secrets
string[]

Optional secret names to expose at runtime (opt-in). Only listed names are resolved and made available to tools. If omitted or empty, no user/project secrets are exposed.

speed
enum<string>

Optional speed tier for any model that advertises speed support. Read capabilities from /api/v1/models for Neo, byok_models for BYOK, or ai_connection_models for AI connections, according to the user's active model source.

Available options:
standard,
fast
subagent_models
string[]

Optional ordered list of model IDs Neo may use for subagents, exactly as the model source lists them (the main model is always allowed in addition). Use IDs from /api/v1/models. At most 50 entries of at most 200 characters each, from the characters A-Z a-z 0-9 . _ : / @ + -. Each entry is trimmed and compared exactly, and a repeated entry is dropped, keeping its first position. auto is not a subagent model. When set, the list replaces Neo's default subagent models for this request, and the task routes subagents to these models even when model is a specific model. A model the model source cannot use is refused with worker_model_not_admitted.

Maximum array length: 50
Required string length: 1 - 200
subagent_reasoning_effort
enum<string>
default:auto

Optional ceiling for the reasoning effort Neo may pick for a subagent. auto (the default) sets no ceiling; low, medium, high and max cap the effort, and a model that supports less gets its highest supported effort at or below the ceiling.

Available options:
auto,
low,
medium,
high,
max
task
string

Optional shorthand user input. Used only when message.parts is absent.

title
string

Optional task title. When set, the title is persisted on create and auto title generation is skipped. When omitted, the agent generates a title from the first user message.

Required string length: 1 - 500
tool_review
object

Optional per-task pre-execution tool safety review policy. Each tool call is scored against the data-egress, secret-exfiltration and sandbox-destruction policies before it runs. With a reviewer credential configured the default is mode=enforce with fail_closed=false; without one, review is off. This field controls only that reviewer. The separate deterministic protected government-domain policy is admin/plan controlled (see the protected_domains feature flag on PATCH /api/v1/admin/users) and is not settable here; it enforces regardless of this mode.

triage_ref
object

Optional link to an inbox report (HackerOne, GitHub, or Security Inbox). When set, Neo associates this task with that report so triage status appears in the inbox. Starting triage again for the same report replaces the previous link.

visibility
enum<string>

Task visibility. Defaults to private when omitted/empty.

Available options:
private,
unlisted,
team

Response

Streaming SSE response

The response is of type string.