You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* release: v3.11.1
Add bu-2-0-mini-preview to the v2 supported model types and sync the OpenAPI snapshot.
* fix: include latest API metadata fields
Regenerate all API versions from the latest Cloud main specs, expose browser metadata creation and filtering, and support the new v4 run fields.
* fix: address OpenAPI review feedback
* docs: clarify v2 thinking level support
Copy file name to clipboardExpand all lines: RUNBOOK.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -107,4 +107,4 @@ Follow existing patterns in the codebase. Read before writing.
107
107
-**Python SDK type safety**: All resource methods return Pydantic model instances (via `model_validate()`), NOT dicts.
108
108
-**Structured output**: V2 only. Python auto-converts Pydantic models via `output_schema`. TS uses Zod schemas via `{ schema }` option.
109
109
-**Polling**: `await client.run()` polls `tasks.status()` (lightweight). `for await`/`for step in client.stream()` polls full `tasks.get()` and yields new `TaskStepView` steps.
110
-
-**docs/openapi dir**: `task snapshot:save` calls `task docs:sync` which requires `docs/openapi/`to exist. Create it with `mkdir -p docs/openapi` if missing (e.g., on fresh clone).
110
+
-**Docs OpenAPI dirs**: `task snapshot:save` calls `task docs:sync`, which updates both `docs/openapi/`and the `docs/cloud/openapi/` files consumed by Mintlify. Both directories must exist on a fresh clone.
* @description Presigned URL to download the session recording, if recording was enabled. Only populated on GET /api/v2/browsers/{session_id}: the upload starts when the browser stops, so it is never ready in the stop response.
1011
1025
*/
1012
1026
recordingUrl?: string|null;
1027
+
/**
1028
+
* Recording Available
1029
+
* @description False when a recording can never appear for this session: recording was disabled, or the browser stopped long enough ago that the upload is not coming. Only ever false from proof, so a failed recording lookup leaves it true. Clients polling for `recordingUrl` must stop when this is false.
1030
+
* @default true
1031
+
*/
1032
+
recordingAvailable: boolean;
1033
+
/**
1034
+
* Metadata
1035
+
* @description Caller-supplied labels set when the browser was created.
* @description Optional model reasoning depth. Omit this field to preserve the model provider default. Supported values depend on the selected model: most supported Claude models and GPT-5.1+ models support disabled/low/medium/high; Gemini Flash models support all four (disabled maps to Gemini's minimal level); Claude Fable 5, earlier GPT-5 models, Gemini 2.5 Pro, o3/o4, and Grok support low/medium/high; Gemini 3.1 Pro supports low/high; GLM supports disabled/high. Unsupported model/level combinations are rejected. API V2 cannot configure GLM or fixed-budget Claude thinking; use API V3 or V4 for those combinations.
1311
+
* @description Optional model reasoning depth. Omit this field to preserve the provider default. API V2 accepts disabled/low/medium/high for browser-use-llm, browser-use-2.0, gemini-2.5-flash, gemini-3-flash-preview, gemini-3.5-flash, gemini-flash-latest, gemini-flash-lite-latest, gpt-5.5, gpt-5.6-sol, gpt-5.6-terra, gpt-5.6-luna, claude-sonnet-5, claude-opus-4-7, claude-opus-4-8, and claude-opus-5; low/medium/high for gemini-2.5-pro, o3, and o4-mini; low/high for gemini-3-pro-preview and gemini-3.1-pro-preview; and disabled only for claude-sonnet-4-20250514, claude-sonnet-4-5-20250929, and claude-opus-4-5-20251101. For browser-use-llm, browser-use-2.0, Gemini 3 Flash, and Gemini 3.5 Flash, disabled maps to Google's minimal thinking level. For Gemini 2.5 Flash and the gemini-flash-latest variants, disabled maps to a zero thinking budget. bu-2-0-mini-preview does not support configurable thinking, so omit thinkingLevel for that model. Other V2 models reject an explicit level. API V2 cannot configure GLM thinking or enable fixed-budget Claude thinking; use API V3 or V4 for those combinations.
/** @description Only browsers tagged with every one of these terms. `key` matches any value; `key=value` matches exactly. Repeat the param to require more than one (AND). */
* @description Presigned URL to download the session recording, if recording was enabled. Only populated on GET /api/v2/browsers/{session_id}: the upload starts when the browser stops, so it is never ready in the stop response.
728
742
*/
729
743
recordingUrl?: string|null;
744
+
/**
745
+
* Recording Available
746
+
* @description False when a recording can never appear for this session: recording was disabled, or the browser stopped long enough ago that the upload is not coming. Only ever false from proof, so a failed recording lookup leaves it true. Clients polling for `recordingUrl` must stop when this is false.
747
+
* @default true
748
+
*/
749
+
recordingAvailable: boolean;
750
+
/**
751
+
* Metadata
752
+
* @description Caller-supplied labels set when the browser was created.
/** @description Only browsers tagged with every one of these terms. `key` matches any value; `key=value` matches exactly. Repeat the param to require more than one (AND). */
* @description Presigned URL to download the session recording, if recording was enabled. Only populated on GET /api/v2/browsers/{session_id}: the upload starts when the browser stops, so it is never ready in the stop response.
789
797
*/
790
798
recordingUrl?: string|null;
799
+
/**
800
+
* Metadata
801
+
* @description Caller-supplied labels set when the browser was created.
* @description If true, provisions a persistent temporary email inbox (via AgentMail) for the run workspace. The agent receives the email address in its context and can send, receive, read, and reply to email. Set false to disable AgentMail for this run.
1219
+
* @default false
1220
+
*/
1221
+
agentmail: boolean;
1176
1222
/** Attachedfileids */
1177
1223
attachedFileIds?: string[]|null;
1224
+
/**
1225
+
* Secretbindings
1226
+
* @description Credentials this run may use without ever seeing them. The agent can ask the server to type a binding by alias on one of its allowed domains; it cannot read the value. Bindings are not persisted past the run.
* @description Hosts the secret may be typed into, e.g. ["github.com"]. A host covers its subdomains. Bare hostnames only — no scheme, port, path, or wildcard.
1408
+
*/
1409
+
allowedDomains: string[];
1410
+
};
1335
1411
/**
1336
1412
* SessionInfo
1337
1413
* @description Lightweight metadata for one V4 session (its most recent run).
/** @description Only browsers tagged with every one of these terms. `key` matches any value; `key=value` matches exactly. Repeat the param to require more than one (AND). */
0 commit comments