Skip to main content
POST

Overview

The Navigator API provides a computer-use model family. Given a task in natural language, the current screenshot, and the full action history, the model predicts the next action to take to accomplish the task. The API follows the OpenAI chat.completions format. Pick the model that matches your environment: n2 reasons before it acts. reasoning_effort sets how much — none, low, medium (the default, shown above), or xhigh. The trace comes back on reasoning_content and its tokens are counted in usage.reasoning_tokens. A task the model can just do returns an empty trace; the example below asks it to weigh two approaches, which is where reasoning shows up. See Reasoning.
Want to try Navigator without writing code?
  • Playground — run either model on a hosted browser or desktop without writing code.
  • Navigator Browser Extension — run n1.5 in your own local browser
  • Yutori Local — Mac desktop app that gives our agents access to a browser on your computer, enabling login-required workflows and local browsing tasks

Response Format

Actions are returned via the tool_calls field in the response message:
content is the model’s narration, tool_calls carries the predicted actions, and request_id is a unique identifier useful for debugging. Which tool names appear depends on the model — n2 batches GUI actions into computer_batch, while n1.5 calls browser actions directly. n2 also returns its reasoning trace on reasoning_content; see Reasoning. When the model is done with the task, it returns a response with only content text and no tool_calls — the signal to end the loop. You can append a new user message to continue from the same history.

Authorizations

Authorization
string
header
required

Use Authorization: Bearer <api_key>

Body

application/json
messages
(ChatCompletionDeveloperMessageParam · object | ChatCompletionSystemMessageParam · object | ChatCompletionUserMessageParam · object | ChatCompletionAssistantMessageParam · object | ChatCompletionToolMessageParam · object | ChatCompletionFunctionMessageParam · object | ChatCompletionToolImageMessageParam · object | ChatCompletionObservationMessageParam · object)[]

Developer-provided instructions that the model should follow, regardless of messages sent by the user. With o1 models and newer, developer messages replace the previous system messages.

model
enum<string>
Available options:
n2,
n1.5-latest,
n1.5-20260428
max_completion_tokens
integer
default:16384

Maximum output tokens. Defaults to 16384 for n2, because its reasoning trace and tool call share this budget. n1.5 defaults to 1572.

temperature
number | null
default:0.6

Sampling temperature. Defaults to 0.6 for n2. n1.5 defaults to 0.3.

top_p
number | null
default:0.95

Nucleus sampling threshold. Defaults to 0.95 for n2. Unset for n1.5.

repetition_penalty
number | null
default:1

Penalizes token repetition. 1.0 = no penalty, >1.0 = less repetition. Only supported by vLLM-backed models. Defaults to 1.0 for n2. Unset for n1.5.

presence_penalty
number | null
default:0

Defaults to 0.0 for n2. Unset for n1.5.

frequency_penalty
number | null

Unset for both models; neither sets a server-side default for it.

reasoning_effort
enum<string>
default:medium

n2 only. How much the model reasons before acting. Defaults to medium; none turns reasoning off. OpenAI's high and minimal are accepted as aliases for xhigh and low, and any unrecognized value falls back to medium.

Available options:
none,
low,
medium,
xhigh
tools
Tools · object[] | null

Additional tools, merged with the selected tool set rather than replacing it. n1.5 merges them with the built-in browser actions (left_click, scroll, type, etc.). n2 serves them alongside the tool set; a definition whose name the set already serves is rejected rather than shadowed — disable it first via disable_tools.

tool_choice
default:auto

Controls whether tool calls are parsed from the response. Model always decides whether to call a tool. 'none' treats the response as text-only, but tool calls may be present inside <tool_call> tags, 'auto' (default) parses tool calls automatically as tool_calls list in response. n2 supports 'auto' only.

response_format
Response Format · object | null

An object specifying the format that the model must output.

tool_set
string | null

Named tool set. n2 defaults to the current desktop set ('computer_use_tools-20260830': computer_batch, bash, read, write, edit) and accepts earlier dated sets. n1.5 defaults to 'browser_tools_core-20260403' (coordinate-based tools); 'browser_tools_expanded-20260403' adds extract_elements, find, set_element_value, execute_js.

disable_tools
string[] | null

List of tool names to remove from the selected tool set. For n2 only the shell/file tools (bash, read, write, edit) may be removed — computer_batch is the GUI surface and cannot be disabled.

json_schema
Json Schema · object | null

JSON Schema for structured output. n1.5 only — n2 rejects this field. Appended to your task message. Model returns JSON in ```json fences, parsed and returned as 'parsed_json' in the response.

prev_request_id
string | null

The request_id returned by the previous Navigator call in this conversation. Echo it back on each subsequent call to link the calls into one conversation for usage reporting.

Response

Successful Response