diff --git a/src/libs/Browserbase/openapi.yaml b/src/libs/Browserbase/openapi.yaml index 692fd2e..4d643db 100644 --- a/src/libs/Browserbase/openapi.yaml +++ b/src/libs/Browserbase/openapi.yaml @@ -4,7 +4,7 @@ info: description: Browserbase API for 3rd party developers version: v1 servers: - - url: "https://api.browserbase.com" + - url: https://api.browserbase.com description: Public endpoint variables: {} paths: @@ -12,7 +12,11 @@ paths: post: operationId: Agents_create summary: Create an Agent - description: Create a reusable agent. An agent defines a `systemPrompt` and `resultSchema` that guide its behavior for every run. Only `name` is required; an agent created with no `systemPrompt` behaves like an unconfigured run. + description: >- + Create a reusable agent. An agent defines a `systemPrompt` and + `resultSchema` that guide its behavior for every run. Only `name` is + required; an agent created with no `systemPrompt` behaves like an + unconfigured run. requestBody: required: true content: @@ -21,16 +25,26 @@ paths: type: object properties: name: - description: Human-readable name for the agent. Used to identify the agent in the dashboard and API responses. + description: >- + Human-readable name for the agent. Used to identify the + agent in the dashboard and API responses. type: string maxLength: 255 minLength: 1 systemPrompt: - description: System prompt that steers the agent's behavior on every run that uses this agent. + description: >- + System prompt that steers the agent's behavior on every run + that uses this agent. type: string minLength: 1 resultSchema: - description: "An optional [JSON Schema](https://json-schema.org/specification) object. If provided, runs that reference this agent will aim to return a `result` that conforms to this schema when they complete. Can be overridden per run by passing `resultSchema` on the run request." + description: >- + An optional [JSON + Schema](https://json-schema.org/specification) object. If + provided, runs that reference this agent will aim to return + a `result` that conforms to this schema when they complete. + Can be overridden per run by passing `resultSchema` on the + run request. type: object additionalProperties: true properties: {} @@ -38,12 +52,12 @@ paths: required: - name responses: - "201": + '201': description: The agent has been created. content: application/json: schema: - $ref: "#/components/schemas/Agent" + $ref: '#/components/schemas/Agent' x-codeSamples: - lang: javascript label: Node.js @@ -93,14 +107,18 @@ paths: parameters: - name: startAt in: query - description: "Only return agents created on or after this timestamp (inclusive). ISO 8601 / RFC 3339, e.g. 2026-01-19T00:00:00Z." + description: >- + Only return agents created on or after this timestamp (inclusive). + ISO 8601 / RFC 3339, e.g. 2026-01-19T00:00:00Z. required: false schema: type: string format: date-time - name: endAt in: query - description: "Only return agents created on or before this timestamp (inclusive). ISO 8601 / RFC 3339, e.g. 2026-01-20T00:00:00Z." + description: >- + Only return agents created on or before this timestamp (inclusive). + ISO 8601 / RFC 3339, e.g. 2026-01-20T00:00:00Z. required: false schema: type: string @@ -116,12 +134,14 @@ paths: minimum: 1 - name: cursor in: query - description: Pagination cursor. Pass the nextCursor from the previous response to fetch the next page. Omit to start from the first page. + description: >- + Pagination cursor. Pass the nextCursor from the previous response to + fetch the next page. Omit to start from the first page. required: false schema: type: string responses: - "200": + '200': description: The page of matching agents. content: application/json: @@ -133,12 +153,15 @@ paths: description: The page of matching agents. type: array items: - $ref: "#/components/schemas/Agent" + $ref: '#/components/schemas/Agent' limit: description: The maximum number of results returned in this page. type: integer nextCursor: - description: Cursor for the next page. Pass it back as `cursor` on the next request to continue paging. null when there are no more results. + description: >- + Cursor for the next page. Pass it back as `cursor` on the + next request to continue paging. null when there are no + more results. anyOf: - type: string nullable: true @@ -180,7 +203,10 @@ paths: post: operationId: AgentRuns_create summary: Run an Agent - description: "Run a browser agent to complete the `task` by using web search and browser tooling. Optionally pass `agentId` to run a [custom agent](/reference/api/create-an-agent) you've created." + description: >- + Run a browser agent to complete the `task` by using web search and + browser tooling. Optionally pass `agentId` to run a [custom + agent](/reference/api/create-an-agent) you've created. requestBody: required: true content: @@ -189,19 +215,33 @@ paths: type: object properties: agentId: - description: "Optionally run a specific [custom agent](/reference/api/create-an-agent) you've created by ID. The run will use the agent's `systemPrompt` and `resultSchema` unless overridden." + description: >- + Optionally run a specific [custom + agent](/reference/api/create-an-agent) you've created by ID. + The run will use the agent's `systemPrompt` and + `resultSchema` unless overridden. type: string task: - description: A natural language description of the task the agent should accomplish. + description: >- + A natural language description of the task the agent should + accomplish. type: string minLength: 1 resultSchema: - description: "An optional [JSON Schema](https://json-schema.org/specification) object. If provided, the agent will aim to return a `result` that conforms to this schema when the run completes. Overrides the referenced agent's default `resultSchema` for this run only." + description: >- + An optional [JSON + Schema](https://json-schema.org/specification) object. If + provided, the agent will aim to return a `result` that + conforms to this schema when the run completes. Overrides + the referenced agent's default `resultSchema` for this run + only. type: object additionalProperties: true properties: {} browserSettings: - description: "Browser configuration for the agent's session. When omitted, runner defaults apply." + description: >- + Browser configuration for the agent's session. When omitted, + runner defaults apply. type: object additionalProperties: false properties: @@ -213,28 +253,41 @@ paths: description: The Context ID. type: string persist: - description: Whether to persist the context after browsing. Defaults to false. + description: >- + Whether to persist the context after browsing. + Defaults to false. type: boolean required: - id proxies: - description: Set true to route the agent's browser session through the default proxy. + description: >- + Set true to route the agent's browser session through + the default proxy. type: boolean verified: description: Set true to enable Browserbase Verified for the session. type: boolean variables: - description: "Optional named variables the agent can reference as placeholders, i.e. `%variable%`. Each entry pairs a `value` the placeholder resolves to with an optional `description` that hints to the agent when it should be used. Values are not persisted." + description: >- + Optional named variables the agent can reference as + placeholders, i.e. `%variable%`. Each entry pairs a `value` + the placeholder resolves to with an optional `description` + that hints to the agent when it should be used. Values are + not persisted. type: object additionalProperties: additionalProperties: false type: object properties: value: - description: The value the placeholder resolves to when the agent uses it. + description: >- + The value the placeholder resolves to when the agent + uses it. type: string description: - description: Optional hint to the agent describing what this variable represents and when to use it. + description: >- + Optional hint to the agent describing what this + variable represents and when to use it. type: string required: - value @@ -242,12 +295,12 @@ paths: required: - task responses: - "201": + '201': description: The agent run has been created in `pending` state. content: application/json: schema: - $ref: "#/components/schemas/AgentRun" + $ref: '#/components/schemas/AgentRun' x-codeSamples: - lang: javascript label: Node.js @@ -293,7 +346,9 @@ paths: get: operationId: AgentRuns_list summary: List Runs - description: "List runs across your account. Supports filtering by status, by the agent they reference, and by creation time." + description: >- + List runs across your account. Supports filtering by status, by the + agent they reference, and by creation time. parameters: - name: status in: query @@ -323,14 +378,18 @@ paths: type: string - name: startAt in: query - description: "Only return runs created on or after this timestamp (inclusive). ISO 8601 / RFC 3339, e.g. 2026-01-19T00:00:00Z." + description: >- + Only return runs created on or after this timestamp (inclusive). ISO + 8601 / RFC 3339, e.g. 2026-01-19T00:00:00Z. required: false schema: type: string format: date-time - name: endAt in: query - description: "Only return runs created on or before this timestamp (inclusive). ISO 8601 / RFC 3339, e.g. 2026-01-20T00:00:00Z." + description: >- + Only return runs created on or before this timestamp (inclusive). + ISO 8601 / RFC 3339, e.g. 2026-01-20T00:00:00Z. required: false schema: type: string @@ -346,12 +405,14 @@ paths: minimum: 1 - name: cursor in: query - description: Pagination cursor. Pass the nextCursor from the previous response to fetch the next page. Omit to start from the first page. + description: >- + Pagination cursor. Pass the nextCursor from the previous response to + fetch the next page. Omit to start from the first page. required: false schema: type: string responses: - "200": + '200': description: The page of matching agent runs. content: application/json: @@ -363,12 +424,15 @@ paths: description: The page of matching agent runs. type: array items: - $ref: "#/components/schemas/AgentRun" + $ref: '#/components/schemas/AgentRun' limit: description: The maximum number of results returned in this page. type: integer nextCursor: - description: Cursor for the next page. Pass it back as `cursor` on the next request to continue paging. null when there are no more results. + description: >- + Cursor for the next page. Pass it back as `cursor` on the + next request to continue paging. null when there are no + more results. anyOf: - type: string nullable: true @@ -412,11 +476,14 @@ paths: --data-urlencode 'status=COMPLETED' \ --data-urlencode 'limit=20' \ --header "X-BB-API-Key: $BROWSERBASE_API_KEY" - "/v1/agents/runs/{runId}": + /v1/agents/runs/{runId}: get: operationId: AgentRuns_get summary: Get a Run - description: "Retrieve the current status and details of a run, including its result and associated session information. To fetch the run's messages, use [List Run Messages](/reference/api/list-run-messages)." + description: >- + Retrieve the current status and details of a run, including its result + and associated session information. To fetch the run's messages, use + [List Run Messages](/reference/api/list-run-messages). parameters: - name: runId in: path @@ -425,12 +492,12 @@ paths: schema: type: string responses: - "200": + '200': description: The agent run. content: application/json: schema: - $ref: "#/components/schemas/AgentRun" + $ref: '#/components/schemas/AgentRun' x-codeSamples: - lang: javascript label: Node.js @@ -461,18 +528,25 @@ paths: curl --request GET \ --url https://api.browserbase.com/v1/agents/runs/run-id \ --header "X-BB-API-Key: $BROWSERBASE_API_KEY" - "/v1/agents/runs/{runId}/messages": + /v1/agents/runs/{runId}/messages: get: operationId: AgentRuns_messages summary: List Run Messages - description: |- - Returns a paginated list of messages produced by a run, in chronological order, with the oldest messages first. + description: >- + Returns a paginated list of messages produced by a run, in chronological + order, with the oldest messages first. - Messages conform to the [AI SDK UIMessage format](https://ai-sdk.dev/docs/reference/ai-sdk-core/ui-message). + + Messages conform to the [AI SDK UIMessage + format](https://ai-sdk.dev/docs/reference/ai-sdk-core/ui-message). parameters: - name: since in: query - description: "The `id` of the last message you've already received. The response will contain messages produced after that one, in chronological order. Omit on the first call. Pass the previous response's `nextSince` value to continue paging or to poll for new messages." + description: >- + The `id` of the last message you've already received. The response + will contain messages produced after that one, in chronological + order. Omit on the first call. Pass the previous response's + `nextSince` value to continue paging or to poll for new messages. required: false schema: type: string @@ -487,7 +561,9 @@ paths: minimum: 1 - name: all in: query - description: "Return every message after `since` in one response, ignoring `limit`." + description: >- + Return every message after `since` in one response, ignoring + `limit`. required: false schema: type: boolean @@ -500,15 +576,19 @@ paths: type: string format: uuid responses: - "200": - description: "The page of messages, in chronological order, with the oldest messages first." + '200': + description: >- + The page of messages, in chronological order, with the oldest + messages first. content: application/json: schema: type: object properties: data: - description: "The page of messages, in chronological order, with the oldest messages first." + description: >- + The page of messages, in chronological order, with the + oldest messages first. type: array items: type: object @@ -533,7 +613,9 @@ paths: - assistant - tool content: - description: Plain string (assistant text) or an array of typed parts. + description: >- + Plain string (assistant text) or an array of + typed parts. oneOf: - type: string - type: array @@ -544,7 +626,9 @@ paths: additionalProperties: true properties: type: - description: text | reasoning | file | tool-call | tool-result + description: >- + text | reasoning | file | tool-call | + tool-result type: string text: type: string @@ -562,7 +646,11 @@ paths: - role - content nextSince: - description: "The `id` of the last message in `data`. Pass it back as `since` on the next request to continue paging, or to poll for new messages. `null` only when the run has no messages yet; in that case, omit `since` and retry." + description: >- + The `id` of the last message in `data`. Pass it back as + `since` on the next request to continue paging, or to poll + for new messages. `null` only when the run has no messages + yet; in that case, omit `since` and retry. type: string nullable: true required: @@ -602,11 +690,14 @@ paths: --get \ --data-urlencode 'limit=20' \ --header "X-BB-API-Key: $BROWSERBASE_API_KEY" - "/v1/agents/runs/{runId}/stop": + /v1/agents/runs/{runId}/stop: post: operationId: AgentRuns_stop summary: Stop a Run - description: Request that an in-progress run stop. The run winds down and transitions to `STOPPED`. Stopping a run that has already finished returns a conflict. + description: >- + Request that an in-progress run stop. The run winds down and transitions + to `STOPPED`. Stopping a run that has already finished returns a + conflict. parameters: - name: runId in: path @@ -615,12 +706,14 @@ paths: schema: type: string responses: - "202": - description: The stop has been requested. Poll the run until its status is `STOPPED` to confirm it wound down. + '202': + description: >- + The stop has been requested. Poll the run until its status is + `STOPPED` to confirm it wound down. content: application/json: schema: - $ref: "#/components/schemas/AgentRun" + $ref: '#/components/schemas/AgentRun' x-codeSamples: - lang: bash label: cURL @@ -628,7 +721,7 @@ paths: curl --request POST \ --url https://api.browserbase.com/v1/agents/runs/run-id/stop \ --header "X-BB-API-Key: $BROWSERBASE_API_KEY" - "/v1/agents/{agentId}": + /v1/agents/{agentId}: get: operationId: Agents_get summary: Get an Agent @@ -641,12 +734,12 @@ paths: schema: type: string responses: - "200": + '200': description: The agent. content: application/json: schema: - $ref: "#/components/schemas/Agent" + $ref: '#/components/schemas/Agent' x-codeSamples: - lang: javascript label: Node.js @@ -680,7 +773,9 @@ paths: patch: operationId: Agents_update summary: Update an Agent - description: Update an existing agent. Only the fields provided in the body are modified; omitted fields are left unchanged. + description: >- + Update an existing agent. Only the fields provided in the body are + modified; omitted fields are left unchanged. parameters: - name: agentId in: path @@ -695,27 +790,37 @@ paths: type: object properties: name: - description: Human-readable name for the agent. Used to identify the agent in the dashboard and API responses. + description: >- + Human-readable name for the agent. Used to identify the + agent in the dashboard and API responses. type: string maxLength: 255 minLength: 1 systemPrompt: - description: New system prompt that steers the agent's behavior on every run that uses this agent. + description: >- + New system prompt that steers the agent's behavior on every + run that uses this agent. type: string minLength: 1 resultSchema: - description: "An optional [JSON Schema](https://json-schema.org/specification) object. If provided, runs that reference this agent will aim to return a `result` that conforms to this schema when they complete. Can be overridden per run by passing `resultSchema` on the run request." + description: >- + An optional [JSON + Schema](https://json-schema.org/specification) object. If + provided, runs that reference this agent will aim to return + a `result` that conforms to this schema when they complete. + Can be overridden per run by passing `resultSchema` on the + run request. type: object additionalProperties: true properties: {} additionalProperties: false responses: - "200": + '200': description: The updated agent. content: application/json: schema: - $ref: "#/components/schemas/Agent" + $ref: '#/components/schemas/Agent' x-codeSamples: - lang: javascript label: Node.js @@ -762,8 +867,10 @@ paths: schema: type: string responses: - "204": - description: "The agent has been deleted. Idempotent: deleting an already-deleted or non-existent agent returns 204." + '204': + description: >- + The agent has been deleted. Idempotent: deleting an already-deleted + or non-existent agent returns 204. x-codeSamples: - lang: javascript label: Node.js @@ -807,25 +914,25 @@ paths: required: - file responses: - "200": + '200': description: The request has succeeded. content: application/json: schema: - $ref: "#/components/schemas/Certificate" + $ref: '#/components/schemas/Certificate' get: operationId: Certificates_list summary: List Certificates responses: - "200": + '200': description: The request has succeeded. content: application/json: schema: type: array items: - $ref: "#/components/schemas/Certificate" - "/v1/certificates/{id}": + $ref: '#/components/schemas/Certificate' + /v1/certificates/{id}: get: operationId: Certificates_get summary: Get a Certificate @@ -836,12 +943,12 @@ paths: schema: type: string responses: - "200": + '200': description: The request has succeeded. content: application/json: schema: - $ref: "#/components/schemas/Certificate" + $ref: '#/components/schemas/Certificate' delete: operationId: Certificates_delete summary: Delete a Certificate @@ -852,8 +959,10 @@ paths: schema: type: string responses: - "204": - description: "There is no content to send for this request, but the headers may be useful." + '204': + description: >- + There is no content to send for this request, but the headers may be + useful. /v1/contexts: post: operationId: Contexts_create @@ -865,11 +974,17 @@ paths: type: object properties: projectId: - description: "The Project ID. Can be found in [Settings](https://www.browserbase.com/settings). Optional - if not provided, the project will be inferred from the API key." + description: >- + The Project ID. Can be found in + [Settings](https://www.browserbase.com/settings). Optional - + if not provided, the project will be inferred from the API + key. type: string responses: - "201": - description: The request has succeeded and a new resource has been created as a result. + '201': + description: >- + The request has succeeded and a new resource has been created as a + result. content: application/json: schema: @@ -885,10 +1000,16 @@ paths: description: The public key to encrypt the user-data-directory. type: string cipherAlgorithm: - description: The cipher algorithm used to encrypt the user-data-directory. AES-256-CBC is currently the only supported algorithm. + description: >- + The cipher algorithm used to encrypt the + user-data-directory. AES-256-CBC is currently the only + supported algorithm. type: string initializationVectorSize: - description: "The initialization vector size used to encrypt the user-data-directory. [Read more about how to use it](/features/contexts)." + description: >- + The initialization vector size used to encrypt the + user-data-directory. [Read more about how to use + it](/features/contexts). type: integer format: uint8 required: @@ -897,7 +1018,7 @@ paths: - publicKey - cipherAlgorithm - initializationVectorSize - "/v1/contexts/{id}": + /v1/contexts/{id}: get: operationId: Contexts_get summary: Get a Context @@ -908,12 +1029,12 @@ paths: schema: type: string responses: - "200": + '200': description: The request has succeeded. content: application/json: schema: - $ref: "#/components/schemas/Context" + $ref: '#/components/schemas/Context' put: operationId: Contexts_update summary: Update a Context @@ -924,7 +1045,7 @@ paths: schema: type: string responses: - "200": + '200': description: The request has succeeded. content: application/json: @@ -941,10 +1062,16 @@ paths: description: The public key to encrypt the user-data-directory. type: string cipherAlgorithm: - description: The cipher algorithm used to encrypt the user-data-directory. AES-256-CBC is currently the only supported algorithm. + description: >- + The cipher algorithm used to encrypt the + user-data-directory. AES-256-CBC is currently the only + supported algorithm. type: string initializationVectorSize: - description: "The initialization vector size used to encrypt the user-data-directory. [Read more about how to use it](/features/contexts)." + description: >- + The initialization vector size used to encrypt the + user-data-directory. [Read more about how to use + it](/features/contexts). type: integer format: uint8 required: @@ -963,8 +1090,10 @@ paths: schema: type: string responses: - "204": - description: "There is no content to send for this request, but the headers may be useful." + '204': + description: >- + There is no content to send for this request, but the headers may be + useful. /v1/downloads: get: operationId: Downloads_list @@ -1037,7 +1166,7 @@ paths: default: 0 minimum: 0 responses: - "200": + '200': description: The request has succeeded. content: application/json: @@ -1091,11 +1220,13 @@ paths: - total - limit - offset - "/v1/downloads/{id}": + /v1/downloads/{id}: get: operationId: Downloads_get summary: Get a Download - description: "Get download metadata (Accept: application/json) or file content (Accept: application/octet-stream)." + description: >- + Get download metadata (Accept: application/json) or file content + (Accept: application/octet-stream). parameters: - name: id in: path @@ -1104,7 +1235,7 @@ paths: schema: type: string responses: - "200": + '200': description: The request has succeeded. content: application/json: @@ -1157,7 +1288,7 @@ paths: schema: type: string responses: - "204": + '204': description: There is no content to send for this request. /v1/extensions: post: @@ -1176,13 +1307,13 @@ paths: required: - file responses: - "200": + '200': description: The request has succeeded. content: application/json: schema: - $ref: "#/components/schemas/Extension" - "/v1/extensions/{id}": + $ref: '#/components/schemas/Extension' + /v1/extensions/{id}: get: operationId: Extensions_get summary: Get an Extension @@ -1193,12 +1324,12 @@ paths: schema: type: string responses: - "200": + '200': description: The request has succeeded. content: application/json: schema: - $ref: "#/components/schemas/Extension" + $ref: '#/components/schemas/Extension' delete: operationId: Extensions_delete summary: Delete an Extension @@ -1209,13 +1340,15 @@ paths: schema: type: string responses: - "204": - description: "There is no content to send for this request, but the headers may be useful." + '204': + description: >- + There is no content to send for this request, but the headers may be + useful. /v1/fetch: post: operationId: Fetch_create summary: Fetch a Page - description: "Fetch a page and return its content, headers, and metadata." + description: Fetch a page and return its content, headers, and metadata. requestBody: required: true content: @@ -1240,7 +1373,11 @@ paths: type: boolean default: false format: - description: Output format for the response content. `raw` (default) returns the response body unchanged; `json` returns structured data (requires `schema`); `markdown` returns the page as markdown. + description: >- + Output format for the response content. `raw` (default) + returns the response body unchanged; `json` returns + structured data (requires `schema`); `markdown` returns the + page as markdown. default: raw anyOf: - type: string @@ -1253,13 +1390,15 @@ paths: enum: - markdown schema: - description: JSON Schema describing the desired structure of the response. Only used when `format` is `json`. + description: >- + JSON Schema describing the desired structure of the + response. Only used when `format` is `json`. type: object additionalProperties: {} required: - url responses: - "200": + '200': description: The request has succeeded. content: application/json: @@ -1282,7 +1421,10 @@ paths: - type: string - type: object additionalProperties: {} - description: The response body content. A string for `raw` and `markdown` formats; a structured object for `json` format (the schema-extracted result). + description: >- + The response body content. A string for `raw` and + `markdown` formats; a structured object for `json` format + (the schema-extracted result). contentType: description: The MIME type of the response type: string @@ -1296,8 +1438,10 @@ paths: - content - contentType - encoding - "400": - description: "Invalid request body, or the requested `format` is not supported for the fetched response's content type." + '400': + description: >- + Invalid request body, or the requested `format` is not supported for + the fetched response's content type. content: application/json: schema: @@ -1319,19 +1463,23 @@ paths: - statusCode - error - message - "402": + '402': description: Free plan quota exceeded for the requested format. content: application/json: schema: description: Free plan quota exceeded for the requested format. - "403": - description: Project is not enabled for the requested format. Only `raw` is available without enablement. + '403': + description: >- + Project is not enabled for the requested format. Only `raw` is + available without enablement. content: application/json: schema: - description: Project is not enabled for the requested format. Only `raw` is available without enablement. - "429": + description: >- + Project is not enabled for the requested format. Only `raw` is + available without enablement. + '429': description: Concurrent fetch request limit exceeded. content: application/json: @@ -1354,8 +1502,10 @@ paths: - statusCode - error - message - "502": - description: The fetched response was too large or TLS certificate verification failed. + '502': + description: >- + The fetched response was too large or TLS certificate verification + failed. content: application/json: schema: @@ -1378,7 +1528,7 @@ paths: - error - message - id - "503": + '503': description: The fetch service is temporarily unavailable. content: application/json: @@ -1402,7 +1552,7 @@ paths: - error - message - id - "504": + '504': description: The fetch request timed out. content: application/json: @@ -1447,7 +1597,7 @@ paths: maximum: 100 minimum: 1 responses: - "200": + '200': description: The request has succeeded. content: application/json: @@ -1457,7 +1607,7 @@ paths: data: type: array items: - $ref: "#/components/schemas/Function" + $ref: '#/components/schemas/Function' total: type: integer minimum: 0 @@ -1490,7 +1640,7 @@ paths: schema: type: string responses: - "200": + '200': description: The request has succeeded. content: application/json: @@ -1500,14 +1650,14 @@ paths: data: type: array items: - $ref: "#/components/schemas/FunctionBuild" + $ref: '#/components/schemas/FunctionBuild' total: type: integer minimum: 0 required: - data - total - "/v1/functions/builds/{id}": + /v1/functions/builds/{id}: get: operationId: FunctionBuilds_get summary: Get a Function Build @@ -1519,13 +1669,13 @@ paths: type: string format: uuid responses: - "200": + '200': description: The request has succeeded. content: application/json: schema: - $ref: "#/components/schemas/FunctionBuild" - "/v1/functions/builds/{id}/logs": + $ref: '#/components/schemas/FunctionBuild' + /v1/functions/builds/{id}/logs: get: operationId: FunctionBuilds_getLogs summary: Get Function Build Logs @@ -1537,7 +1687,7 @@ paths: type: string format: uuid responses: - "200": + '200': description: The request has succeeded. content: application/json: @@ -1547,14 +1697,14 @@ paths: logs: type: array items: - $ref: "#/components/schemas/FunctionBuildLog" + $ref: '#/components/schemas/FunctionBuildLog' total: type: integer minimum: 0 required: - logs - total - "/v1/functions/invocations/{id}": + /v1/functions/invocations/{id}: get: operationId: Invocations_get summary: Get an Invocation @@ -1566,13 +1716,13 @@ paths: type: string format: uuid responses: - "200": + '200': description: The request has succeeded. content: application/json: schema: allOf: - - $ref: "#/components/schemas/Invocation" + - $ref: '#/components/schemas/Invocation' - type: object properties: cause: @@ -1589,7 +1739,7 @@ paths: minLength: 1 required: - code - "/v1/functions/invocations/{id}/logs": + /v1/functions/invocations/{id}/logs: get: operationId: Invocations_getLogs summary: Get Invocation Logs @@ -1601,7 +1751,7 @@ paths: type: string format: uuid responses: - "200": + '200': description: The request has succeeded. content: application/json: @@ -1611,14 +1761,14 @@ paths: logs: type: array items: - $ref: "#/components/schemas/InvocationLog" + $ref: '#/components/schemas/InvocationLog' total: type: integer minimum: 0 required: - logs - total - "/v1/functions/versions/{id}": + /v1/functions/versions/{id}: get: operationId: FunctionVersions_get summary: Get a Function Version @@ -1630,13 +1780,13 @@ paths: type: string format: uuid responses: - "200": + '200': description: The request has succeeded. content: application/json: schema: - $ref: "#/components/schemas/FunctionVersion" - "/v1/functions/versions/{id}/invocations": + $ref: '#/components/schemas/FunctionVersion' + /v1/functions/versions/{id}/invocations: get: operationId: FunctionVersions_listInvocations summary: List Invocations for a Function Version @@ -1668,7 +1818,7 @@ paths: type: string format: uuid responses: - "200": + '200': description: The request has succeeded. content: application/json: @@ -1678,14 +1828,14 @@ paths: results: type: array items: - $ref: "#/components/schemas/Invocation" + $ref: '#/components/schemas/Invocation' total: type: integer minimum: 0 required: - results - total - "/v1/functions/{id}": + /v1/functions/{id}: get: operationId: Functions_get summary: Get a Function @@ -1697,13 +1847,13 @@ paths: type: string format: uuid responses: - "200": + '200': description: The request has succeeded. content: application/json: schema: - $ref: "#/components/schemas/Function" - "/v1/functions/{id}/invoke": + $ref: '#/components/schemas/Function' + /v1/functions/{id}/invoke: post: operationId: Functions_invoke summary: Invoke a Function @@ -1729,7 +1879,9 @@ paths: type: object properties: extensionId: - description: "The uploaded Extension ID. See [Upload Extension](/reference/api/upload-an-extension)." + description: >- + The uploaded Extension ID. See [Upload + Extension](/reference/api/upload-an-extension). type: string browserSettings: type: object @@ -1741,12 +1893,16 @@ paths: description: The Context ID. type: string persist: - description: Whether or not to persist the context after browsing. Defaults to `false`. + description: >- + Whether or not to persist the context after + browsing. Defaults to `false`. type: boolean required: - id extensionId: - description: "The uploaded Extension ID. See [Upload Extension](/reference/api/upload-an-extension)." + description: >- + The uploaded Extension ID. See [Upload + Extension](/reference/api/upload-an-extension). type: string viewport: type: object @@ -1758,16 +1914,24 @@ paths: description: The height of the browser. type: integer blockAds: - description: Enable or disable ad blocking in the browser. Defaults to `false`. + description: >- + Enable or disable ad blocking in the browser. + Defaults to `false`. type: boolean solveCaptchas: - description: Enable or disable captcha solving in the browser. Defaults to `true`. + description: >- + Enable or disable captcha solving in the browser. + Defaults to `true`. type: boolean recordSession: - description: Enable or disable session recording. Defaults to `true`. + description: >- + Enable or disable session recording. Defaults to + `true`. type: boolean logSession: - description: Enable or disable session logging. Defaults to `true`. + description: >- + Enable or disable session logging. Defaults to + `true`. type: boolean advancedStealth: description: Advanced Browser Stealth Mode @@ -1776,13 +1940,21 @@ paths: description: Verified Browser Mode type: boolean captchaImageSelector: - description: "Custom selector for captcha image. See [Custom Captcha Solving](/features/stealth-mode#custom-captcha-solving)" + description: >- + Custom selector for captcha image. See [Custom + Captcha + Solving](/features/stealth-mode#custom-captcha-solving) type: string captchaInputSelector: - description: "Custom selector for captcha input. See [Custom Captcha Solving](/features/stealth-mode#custom-captcha-solving)" + description: >- + Custom selector for captcha input. See [Custom + Captcha + Solving](/features/stealth-mode#custom-captcha-solving) type: string os: - description: "Operating system for stealth mode. Valid values: windows, mac, linux, mobile, tablet" + description: >- + Operating system for stealth mode. Valid values: + windows, mac, linux, mobile, tablet type: string enum: - windows @@ -1791,7 +1963,7 @@ paths: - mobile - tablet size: - description: "[NOT IN DOCS] Resource size of the browser." + description: '[NOT IN DOCS] Resource size of the browser.' type: string default: small enum: @@ -1799,13 +1971,21 @@ paths: - medium - large enableNativeSelectPolyfill: - description: "[NOT IN DOCS] Enable native select polyfill. This gives support a break-glass option to disable the polyfill." + description: >- + [NOT IN DOCS] Enable native select polyfill. This + gives support a break-glass option to disable the + polyfill. type: boolean enablePdfViewer: - description: "[NOT IN DOCS] Enable PDF viewer. This gives support a break-glass option to enable the viewer when users want to view PDFs in-browser." + description: >- + [NOT IN DOCS] Enable PDF viewer. This gives support + a break-glass option to enable the viewer when users + want to view PDFs in-browser. type: boolean extensions: - description: "[NOT IN DOCS] List of pre-installed extension names and custom extension ids to enable on the browser" + description: >- + [NOT IN DOCS] List of pre-installed extension names + and custom extension ids to enable on the browser type: array items: type: string @@ -1814,23 +1994,39 @@ paths: - browser-events default: [] allowedDomains: - description: "An optional list of allowed domains for the session. If you pass one or more domains, Browserbase restricts top-level (main-frame) page navigations to the listed domains and their subdomains. For example, `example.com` also permits `www.example.com` and `a.b.example.com`, but not `notexample.com`. Matching is domain-based, not full-URL. An empty list (the default) disables the restriction entirely. Browserbase enforces only main-frame navigations; it does not block iframe/subframe loads or other in-page resource requests (images, scripts, XHR, etc.)." + description: >- + An optional list of allowed domains for the session. + If you pass one or more domains, Browserbase + restricts top-level (main-frame) page navigations to + the listed domains and their subdomains. For + example, `example.com` also permits + `www.example.com` and `a.b.example.com`, but not + `notexample.com`. Matching is domain-based, not + full-URL. An empty list (the default) disables the + restriction entirely. Browserbase enforces only + main-frame navigations; it does not block + iframe/subframe loads or other in-page resource + requests (images, scripts, XHR, etc.). type: array items: type: string default: [] ignoreCertificateErrors: - description: Enable or disable ignoring of certificate errors in the browser. Defaults to `true`. + description: >- + Enable or disable ignoring of certificate errors in + the browser. Defaults to `true`. type: boolean proxies: - description: "Proxy configuration. Can be true for default proxy, or an array of proxy configurations." + description: >- + Proxy configuration. Can be true for default proxy, or + an array of proxy configurations. anyOf: - type: array items: anyOf: - - $ref: "#/components/schemas/BrowserbaseProxyConfig" - - $ref: "#/components/schemas/ExternalProxyConfig" - - $ref: "#/components/schemas/NoneProxyConfig" + - $ref: '#/components/schemas/BrowserbaseProxyConfig' + - $ref: '#/components/schemas/ExternalProxyConfig' + - $ref: '#/components/schemas/NoneProxyConfig' - type: boolean proxySettings: description: Supplementary proxy settings. Optional. @@ -1845,24 +2041,31 @@ paths: type: string default: [] userMetadata: - description: "Arbitrary user metadata to attach to the session. To learn more about user metadata, see [User Metadata](/features/sessions#user-metadata)." + description: >- + Arbitrary user metadata to attach to the session. To + learn more about user metadata, see [User + Metadata](/features/sessions#user-metadata). type: object additionalProperties: true properties: {} timeout: - description: Duration in seconds after which the function invocation will automatically end. Defaults to 900 (15 minutes). + description: >- + Duration in seconds after which the function invocation + will automatically end. Defaults to 900 (15 minutes). type: integer default: 900 maximum: 900 minimum: 60 responses: - "202": - description: "The request has been accepted for processing, but processing has not yet completed." + '202': + description: >- + The request has been accepted for processing, but processing has not + yet completed. content: application/json: schema: - $ref: "#/components/schemas/Invocation" - "/v1/functions/{id}/versions": + $ref: '#/components/schemas/Invocation' + /v1/functions/{id}/versions: get: operationId: Functions_listVersions summary: List Function Versions @@ -1889,7 +2092,7 @@ paths: type: string format: uuid responses: - "200": + '200': description: The request has succeeded. content: application/json: @@ -1899,7 +2102,7 @@ paths: results: type: array items: - $ref: "#/components/schemas/FunctionVersion" + $ref: '#/components/schemas/FunctionVersion' total: type: integer minimum: 0 @@ -1911,15 +2114,15 @@ paths: operationId: Projects_list summary: List Projects responses: - "200": + '200': description: The request has succeeded. content: application/json: schema: type: array items: - $ref: "#/components/schemas/Project" - "/v1/projects/{id}": + $ref: '#/components/schemas/Project' + /v1/projects/{id}: get: operationId: Projects_get summary: Get a Project @@ -1930,13 +2133,13 @@ paths: schema: type: string responses: - "200": + '200': description: The request has succeeded. content: application/json: schema: - $ref: "#/components/schemas/Project" - "/v1/projects/{id}/usage": + $ref: '#/components/schemas/Project' + /v1/projects/{id}/usage: get: operationId: Projects_usage summary: Get Project Usage @@ -1947,12 +2150,12 @@ paths: schema: type: string responses: - "200": + '200': description: The request has succeeded. content: application/json: schema: - $ref: "#/components/schemas/ProjectUsage" + $ref: '#/components/schemas/ProjectUsage' /v1/search: post: operationId: Search_web @@ -1979,7 +2182,7 @@ paths: required: - query responses: - "200": + '200': description: The request has succeeded. content: application/json: @@ -2046,19 +2249,22 @@ paths: - COMPLETED - name: q in: query - description: "Query sessions by user metadata. See [Querying Sessions by User Metadata](/features/sessions#querying-sessions-by-user-metadata) for the schema of this query." + description: >- + Query sessions by user metadata. See [Querying Sessions by User + Metadata](/features/sessions#querying-sessions-by-user-metadata) for + the schema of this query. required: false schema: type: string responses: - "200": + '200': description: The request has succeeded. content: application/json: schema: type: array items: - $ref: "#/components/schemas/Session" + $ref: '#/components/schemas/Session' post: operationId: Sessions_create summary: Create a Session @@ -2069,10 +2275,16 @@ paths: type: object properties: projectId: - description: "The Project ID. Can be found in [Settings](https://www.browserbase.com/settings). Optional - if not provided, the project will be inferred from the API key." + description: >- + The Project ID. Can be found in + [Settings](https://www.browserbase.com/settings). Optional - + if not provided, the project will be inferred from the API + key. type: string extensionId: - description: "The uploaded Extension ID. See [Upload Extension](/reference/api/upload-an-extension)." + description: >- + The uploaded Extension ID. See [Upload + Extension](/reference/api/upload-an-extension). type: string browserSettings: type: object @@ -2084,12 +2296,16 @@ paths: description: The Context ID. type: string persist: - description: Whether or not to persist the context after browsing. Defaults to `false`. + description: >- + Whether or not to persist the context after + browsing. Defaults to `false`. type: boolean required: - id extensionId: - description: "The uploaded Extension ID. See [Upload Extension](/reference/api/upload-an-extension)." + description: >- + The uploaded Extension ID. See [Upload + Extension](/reference/api/upload-an-extension). type: string viewport: type: object @@ -2101,10 +2317,14 @@ paths: description: The height of the browser. type: integer blockAds: - description: Enable or disable ad blocking in the browser. Defaults to `false`. + description: >- + Enable or disable ad blocking in the browser. Defaults + to `false`. type: boolean solveCaptchas: - description: Enable or disable captcha solving in the browser. Defaults to `true`. + description: >- + Enable or disable captcha solving in the browser. + Defaults to `true`. type: boolean recordSession: description: Enable or disable session recording. Defaults to `true`. @@ -2119,13 +2339,19 @@ paths: description: Verified Browser Mode type: boolean captchaImageSelector: - description: "Custom selector for captcha image. See [Custom Captcha Solving](/features/stealth-mode#custom-captcha-solving)" + description: >- + Custom selector for captcha image. See [Custom Captcha + Solving](/features/stealth-mode#custom-captcha-solving) type: string captchaInputSelector: - description: "Custom selector for captcha input. See [Custom Captcha Solving](/features/stealth-mode#custom-captcha-solving)" + description: >- + Custom selector for captcha input. See [Custom Captcha + Solving](/features/stealth-mode#custom-captcha-solving) type: string os: - description: "Operating system for stealth mode. Valid values: windows, mac, linux, mobile, tablet" + description: >- + Operating system for stealth mode. Valid values: + windows, mac, linux, mobile, tablet type: string enum: - windows @@ -2134,32 +2360,52 @@ paths: - mobile - tablet allowedDomains: - description: "An optional list of allowed domains for the session. If you pass one or more domains, Browserbase restricts top-level (main-frame) page navigations to the listed domains and their subdomains. For example, `example.com` also permits `www.example.com` and `a.b.example.com`, but not `notexample.com`. Matching is domain-based, not full-URL. An empty list (the default) disables the restriction entirely. Browserbase enforces only main-frame navigations; it does not block iframe/subframe loads or other in-page resource requests (images, scripts, XHR, etc.)." + description: >- + An optional list of allowed domains for the session. If + you pass one or more domains, Browserbase restricts + top-level (main-frame) page navigations to the listed + domains and their subdomains. For example, `example.com` + also permits `www.example.com` and `a.b.example.com`, + but not `notexample.com`. Matching is domain-based, not + full-URL. An empty list (the default) disables the + restriction entirely. Browserbase enforces only + main-frame navigations; it does not block + iframe/subframe loads or other in-page resource requests + (images, scripts, XHR, etc.). type: array items: type: string default: [] ignoreCertificateErrors: - description: Enable or disable ignoring of certificate errors in the browser. Defaults to `true`. + description: >- + Enable or disable ignoring of certificate errors in the + browser. Defaults to `true`. type: boolean timeout: - description: Duration in seconds after which the session will automatically end. Defaults to the Project's `defaultTimeout`. + description: >- + Duration in seconds after which the session will + automatically end. Defaults to the Project's + `defaultTimeout`. type: integer maximum: 21600 minimum: 60 x-stainless-param: api_timeout keepAlive: - description: Set to true to keep the session alive even after disconnections. Available on the Hobby Plan and above. + description: >- + Set to true to keep the session alive even after + disconnections. Available on the Hobby Plan and above. type: boolean proxies: - description: "Proxy configuration. Can be true for default proxy, or an array of proxy configurations." + description: >- + Proxy configuration. Can be true for default proxy, or an + array of proxy configurations. anyOf: - type: array items: anyOf: - - $ref: "#/components/schemas/BrowserbaseProxyConfig" - - $ref: "#/components/schemas/ExternalProxyConfig" - - $ref: "#/components/schemas/NoneProxyConfig" + - $ref: '#/components/schemas/BrowserbaseProxyConfig' + - $ref: '#/components/schemas/ExternalProxyConfig' + - $ref: '#/components/schemas/NoneProxyConfig' - type: boolean proxySettings: description: Supplementary proxy settings. Optional. @@ -2183,18 +2429,23 @@ paths: - eu-central-1 - ap-southeast-1 userMetadata: - description: "Arbitrary user metadata to attach to the session. To learn more about user metadata, see [User Metadata](/features/sessions#user-metadata)." + description: >- + Arbitrary user metadata to attach to the session. To learn + more about user metadata, see [User + Metadata](/features/sessions#user-metadata). type: object additionalProperties: true properties: {} responses: - "201": - description: The request has succeeded and a new resource has been created as a result. + '201': + description: >- + The request has succeeded and a new resource has been created as a + result. content: application/json: schema: allOf: - - $ref: "#/components/schemas/Session" + - $ref: '#/components/schemas/Session' - type: object properties: connectUrl: @@ -2206,7 +2457,9 @@ paths: type: string format: uri signingKey: - description: Signing key to use when connecting to the Session via HTTP. + description: >- + Signing key to use when connecting to the Session via + HTTP. type: string required: - connectUrl @@ -2231,10 +2484,13 @@ paths: body: JSON.stringify({}) }) - lang: Python - source: |- + source: >- import requests + url = "https://api.browserbase.com/v1/sessions" + payload = {} + headers = { @@ -2243,7 +2499,10 @@ paths: "X-BB-API-Key": "", "Content-Type": "application/json" } - response = requests.request("POST", url, json=payload, headers=headers) + + response = requests.request("POST", url, json=payload, + headers=headers) + print(response.text) - lang: PHP source: |- @@ -2274,8 +2533,9 @@ paths: - lang: Go source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.browserbase.com/v1/sessions\"\n\n\tpayload := strings.NewReader(\"{}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"X-BB-API-Key\", \"\")\n\treq.Header.Add(\"Content-Type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - lang: Java - source: |- - HttpResponse response = Unirest.post("https://api.browserbase.com/v1/sessions") + source: >- + HttpResponse response = + Unirest.post("https://api.browserbase.com/v1/sessions") @@ -2284,7 +2544,7 @@ paths: .header("Content-Type", "application/json") .body("{}") .asString(); - "/v1/sessions/{id}": + /v1/sessions/{id}: get: operationId: Sessions_get summary: Get a Session @@ -2295,13 +2555,13 @@ paths: schema: type: string responses: - "200": + '200': description: The request has succeeded. content: application/json: schema: allOf: - - $ref: "#/components/schemas/Session" + - $ref: '#/components/schemas/Session' - type: object properties: connectUrl: @@ -2313,7 +2573,9 @@ paths: type: string format: uri signingKey: - description: Signing key to use when connecting to the Session via HTTP. + description: >- + Signing key to use when connecting to the Session via + HTTP. type: string post: operationId: Sessions_update @@ -2332,20 +2594,23 @@ paths: type: object properties: status: - description: Set to `REQUEST_RELEASE` to request that the session complete. Use before session's timeout to avoid additional charges. + description: >- + Set to `REQUEST_RELEASE` to request that the session + complete. Use before session's timeout to avoid additional + charges. type: string enum: - REQUEST_RELEASE required: - status responses: - "200": + '200': description: The request has succeeded. content: application/json: schema: - $ref: "#/components/schemas/Session" - "/v1/sessions/{id}/debug": + $ref: '#/components/schemas/Session' + /v1/sessions/{id}/debug: get: operationId: Sessions_getDebug summary: Session Live URLs @@ -2356,13 +2621,13 @@ paths: schema: type: string responses: - "200": + '200': description: The request has succeeded. content: application/json: schema: - $ref: "#/components/schemas/SessionLiveUrls" - "/v1/sessions/{id}/logs": + $ref: '#/components/schemas/SessionLiveUrls' + /v1/sessions/{id}/logs: get: operationId: Sessions_getLogs summary: Session Logs @@ -2373,15 +2638,15 @@ paths: schema: type: string responses: - "200": + '200': description: The request has succeeded. content: application/json: schema: type: array items: - $ref: "#/components/schemas/SessionLog" - "/v1/sessions/{id}/recording": + $ref: '#/components/schemas/SessionLog' + /v1/sessions/{id}/recording: get: operationId: Sessions_getRecording summary: Session Recording @@ -2392,19 +2657,23 @@ paths: schema: type: string responses: - "200": + '200': description: The request has succeeded. content: application/json: schema: type: array items: - $ref: "#/components/schemas/SessionRecording" - "/v1/sessions/{id}/recording/downloads": + $ref: '#/components/schemas/SessionRecording' + /v1/sessions/{id}/recording/downloads: post: operationId: Sessions_createRecordingDownloads summary: Create Session Recording Downloads - description: "Requests one downloadable MP4 per recorded page of a session. Assembly runs asynchronously and every page returns as `PENDING`. Re-posting re-enqueues all pages and retries any that failed. Poll the GET endpoint for per-page status and, on standard (non-BYOS) projects, download URLs." + description: >- + Requests one downloadable MP4 per recorded page of a session. Assembly + runs asynchronously and every page returns as `PENDING`. Re-posting + re-enqueues all pages and retries any that failed. Poll the GET endpoint + for per-page status and, on standard (non-BYOS) projects, download URLs. parameters: - name: id in: path @@ -2414,7 +2683,7 @@ paths: type: string format: uuid responses: - "202": + '202': description: Downloads enqueued. Poll the GET endpoint for status. content: application/json: @@ -2424,11 +2693,11 @@ paths: downloads: type: array items: - $ref: "#/components/schemas/RecordingDownload" + $ref: '#/components/schemas/RecordingDownload' required: - downloads - "404": - description: "The session was not found, or it has no recording." + '404': + description: The session was not found, or it has no recording. content: application/json: schema: @@ -2447,8 +2716,10 @@ paths: - statusCode - error - message - "409": - description: The session has not ended. Recording downloads are available only after a session completes. + '409': + description: >- + The session has not ended. Recording downloads are available only + after a session completes. content: application/json: schema: @@ -2467,8 +2738,10 @@ paths: - statusCode - error - message - "410": - description: The session's recording has aged out of its retention window and can no longer be assembled. + '410': + description: >- + The session's recording has aged out of its retention window and can + no longer be assembled. content: application/json: schema: @@ -2487,8 +2760,10 @@ paths: - statusCode - error - message - "422": - description: "Recording was disabled for this session (`recordSession: false`), so there is nothing to assemble." + '422': + description: >- + Recording was disabled for this session (`recordSession: false`), so + there is nothing to assemble. content: application/json: schema: @@ -2507,7 +2782,7 @@ paths: - statusCode - error - message - "502": + '502': description: Failed to reach the recording service. Retry the request. content: application/json: @@ -2530,7 +2805,9 @@ paths: get: operationId: Sessions_listRecordingDownloads summary: List Session Recording Downloads - description: "Returns the per-page download status for a session, with a short-lived signed URL for each completed page on standard (non-BYOS) projects." + description: >- + Returns the per-page download status for a session, with a short-lived + signed URL for each completed page on standard (non-BYOS) projects. parameters: - name: id in: path @@ -2540,7 +2817,7 @@ paths: type: string format: uuid responses: - "200": + '200': description: The request has succeeded. content: application/json: @@ -2550,11 +2827,11 @@ paths: downloads: type: array items: - $ref: "#/components/schemas/RecordingDownload" + $ref: '#/components/schemas/RecordingDownload' required: - downloads - "404": - description: "The session was not found, or it has no recording." + '404': + description: The session was not found, or it has no recording. content: application/json: schema: @@ -2573,8 +2850,10 @@ paths: - statusCode - error - message - "409": - description: The session has not ended. Recording downloads are available only after a session completes. + '409': + description: >- + The session has not ended. Recording downloads are available only + after a session completes. content: application/json: schema: @@ -2593,8 +2872,10 @@ paths: - statusCode - error - message - "410": - description: The session's recording has aged out of its retention window and can no longer be assembled. + '410': + description: >- + The session's recording has aged out of its retention window and can + no longer be assembled. content: application/json: schema: @@ -2613,8 +2894,10 @@ paths: - statusCode - error - message - "422": - description: "Recording was disabled for this session (`recordSession: false`), so there is nothing to download." + '422': + description: >- + Recording was disabled for this session (`recordSession: false`), so + there is nothing to download. content: application/json: schema: @@ -2633,7 +2916,7 @@ paths: - statusCode - error - message - "502": + '502': description: Failed to reach the recording service. Retry the request. content: application/json: @@ -2653,11 +2936,13 @@ paths: - statusCode - error - message - "/v1/sessions/{id}/replays": + /v1/sessions/{id}/replays: get: operationId: Sessions_getReplay summary: Get Session Replay - description: "Returns page metadata for a session replay, including timing information and the URL of each page's HLS playlist." + description: >- + Returns page metadata for a session replay, including timing information + and the URL of each page's HLS playlist. parameters: - name: id in: path @@ -2667,7 +2952,7 @@ paths: type: string format: uuid responses: - "200": + '200': description: The request has succeeded. content: application/json: @@ -2677,17 +2962,19 @@ paths: pages: type: array items: - $ref: "#/components/schemas/ReplayPage" + $ref: '#/components/schemas/ReplayPage' pageCount: type: integer required: - pages - pageCount - "/v1/sessions/{id}/replays/{pageId}": + /v1/sessions/{id}/replays/{pageId}: get: operationId: Sessions_getReplayPage summary: Get Replay Page - description: Returns an HLS VOD media playlist (.m3u8) for a specific page of a session replay. + description: >- + Returns an HLS VOD media playlist (.m3u8) for a specific page of a + session replay. parameters: - name: id in: path @@ -2704,13 +2991,13 @@ paths: maxLength: 3 pattern: ^\d+$ responses: - "200": + '200': description: The request has succeeded. content: application/vnd.apple.mpegurl: schema: type: string - "/v1/sessions/{id}/uploads": + /v1/sessions/{id}/uploads: post: operationId: Sessions_uploadFile summary: Create Session Uploads @@ -2733,7 +3020,7 @@ paths: required: - file responses: - "200": + '200': description: The request has succeeded. content: application/json: @@ -2747,20 +3034,29 @@ paths: components: schemas: Agent: - description: A reusable agent. Referenced by `agentId` to apply a system prompt to every run that uses the agent. + description: >- + A reusable agent. Referenced by `agentId` to apply a system prompt to + every run that uses the agent. type: object properties: agentId: - description: Unique identifier for the agent. Use this value as `agentId` when creating an agent run. + description: >- + Unique identifier for the agent. Use this value as `agentId` when + creating an agent run. type: string name: - description: Human-readable name for the agent. Used to identify the agent in the dashboard and API responses. + description: >- + Human-readable name for the agent. Used to identify the agent in the + dashboard and API responses. type: string systemPrompt: description: System prompt applied to every run that uses this agent. type: string resultSchema: - description: "[JSON Schema](https://json-schema.org/specification) that runs referencing this agent will aim to conform their `result` to. Can be overridden per run by passing `resultSchema` on the run request." + description: >- + [JSON Schema](https://json-schema.org/specification) that runs + referencing this agent will aim to conform their `result` to. Can be + overridden per run by passing `resultSchema` on the run request. type: object additionalProperties: true properties: {} @@ -2776,14 +3072,18 @@ components: - createdAt - updatedAt AgentRun: - description: One execution of an agent against a task. Created in `pending` and transitioned through `running` → `completed`/`failed` by the runner. + description: >- + One execution of an agent against a task. Created in `pending` and + transitioned through `running` → `completed`/`failed` by the runner. type: object properties: runId: description: Unique identifier for the run. type: string agentId: - description: "The ID of the agent applied to this run, if any. Omitted for ad-hoc runs." + description: >- + The ID of the agent applied to this run, if any. Omitted for ad-hoc + runs. type: string task: description: The original task description. @@ -2812,12 +3112,19 @@ components: description: External sandbox identifier assigned by the runner. Optional. type: string resultSchema: - description: "Per-run [JSON Schema](https://json-schema.org/specification) override for the result shape. When unset, the agent's default `resultSchema` applies." + description: >- + Per-run [JSON Schema](https://json-schema.org/specification) + override for the result shape. When unset, the agent's default + `resultSchema` applies. type: object additionalProperties: true properties: {} result: - description: "The agent's structured result for the run. Only present when the run has finished and output is available. The result conforms to the provided [JSON Schema](https://json-schema.org/specification) when one is set." + description: >- + The agent's structured result for the run. Only present when the run + has finished and output is available. The result conforms to the + provided [JSON Schema](https://json-schema.org/specification) when + one is set. type: object additionalProperties: true properties: {} @@ -2825,7 +3132,7 @@ components: type: object properties: code: - description: "Structured failure code (e.g., RUNNER_HEARTBEAT_LOST)." + description: Structured failure code (e.g., RUNNER_HEARTBEAT_LOST). type: string maxLength: 64 message: @@ -2856,7 +3163,9 @@ components: type: object properties: type: - description: Type of proxy. Always use 'browserbase' for the Browserbase managed proxy network. + description: >- + Type of proxy. Always use 'browserbase' for the Browserbase managed + proxy network. type: string enum: - browserbase @@ -2865,10 +3174,14 @@ components: type: object properties: city: - description: Name of the city. Use spaces for multi-word city names. Optional. + description: >- + Name of the city. Use spaces for multi-word city names. + Optional. type: string state: - description: US state code (2 characters). Must also specify US as the country. Optional. + description: >- + US state code (2 characters). Must also specify US as the + country. Optional. type: string maxLength: 2 minLength: 2 @@ -2880,7 +3193,9 @@ components: required: - country domainPattern: - description: "Domain pattern for which this proxy should be used. If omitted, defaults to all domains. Optional." + description: >- + Domain pattern for which this proxy should be used. If omitted, + defaults to all domains. Optional. type: string required: - type @@ -2957,7 +3272,9 @@ components: description: Server URL for external proxy. Required. type: string domainPattern: - description: "Domain pattern for which this proxy should be used. If omitted, defaults to all domains. Optional." + description: >- + Domain pattern for which this proxy should be used. If omitted, + defaults to all domains. Optional. type: string username: description: Username for external proxy authentication. Optional. @@ -3040,11 +3357,11 @@ components: type: array items: allOf: - - $ref: "#/components/schemas/Function" + - $ref: '#/components/schemas/Function' - type: object properties: createdVersion: - $ref: "#/components/schemas/FunctionVersion" + $ref: '#/components/schemas/FunctionVersion' required: - createdVersion cause: @@ -3210,7 +3527,9 @@ components: enum: - none domainPattern: - description: "Domain pattern for which this proxy should be used. If omitted, defaults to all domains. Optional." + description: >- + Domain pattern for which this proxy should be used. If omitted, + defaults to all domains. Optional. type: string required: - type @@ -3235,7 +3554,9 @@ components: maximum: 21600 minimum: 60 concurrency: - description: The maximum number of sessions that this project can run concurrently. + description: >- + The maximum number of sessions that this project can run + concurrently. type: integer minimum: 1 required: @@ -3262,22 +3583,30 @@ components: type: object properties: pageId: - description: 'Recorded page (tab) within the session, e.g. "0", "1".' + description: Recorded page (tab) within the session, e.g. "0", "1". type: string status: - $ref: "#/components/schemas/RecordingDownloadStatus" + $ref: '#/components/schemas/RecordingDownloadStatus' downloadUrl: - description: "Short-lived signed CDN URL, re-minted each GET. Present only when COMPLETED on a standard (non-BYOS) project." + description: >- + Short-lived signed CDN URL, re-minted each GET. Present only when + COMPLETED on a standard (non-BYOS) project. type: string completedAt: - description: When the MP4 was created. Present only when COMPLETED on a standard (non-BYOS) project. + description: >- + When the MP4 was created. Present only when COMPLETED on a standard + (non-BYOS) project. type: string format: date-time required: - pageId - status RecordingDownloadStatus: - description: "Per-page MP4 assembly state. `NOT_REQUESTED`: no download has been requested for the session yet. `PENDING`: assembly is enqueued or in progress. `COMPLETED`: the MP4 is ready. `FAILED`: assembly failed; POST again to retry." + description: >- + Per-page MP4 assembly state. `NOT_REQUESTED`: no download has been + requested for the session yet. `PENDING`: assembly is enqueued or in + progress. `COMPLETED`: the MP4 is ready. `FAILED`: assembly failed; POST + again to retry. type: string enum: - NOT_REQUESTED @@ -3332,10 +3661,14 @@ components: - TIMED_OUT - COMPLETED proxyBytes: - description: "Bytes used via the [Proxy](/features/stealth-mode#proxies-and-residential-ips)" + description: >- + Bytes used via the + [Proxy](/features/stealth-mode#proxies-and-residential-ips) type: integer keepAlive: - description: Indicates if the Session was created to be kept alive upon disconnections + description: >- + Indicates if the Session was created to be kept alive upon + disconnections type: boolean contextId: description: Optional. The Context linked to the Session. @@ -3349,7 +3682,10 @@ components: - eu-central-1 - ap-southeast-1 userMetadata: - description: "Arbitrary user metadata to attach to the session. To learn more about user metadata, see [User Metadata](/features/sessions#user-metadata)." + description: >- + Arbitrary user metadata to attach to the session. To learn more + about user metadata, see [User + Metadata](/features/sessions#user-metadata). type: object additionalProperties: true properties: {} @@ -3463,7 +3799,9 @@ components: type: object properties: data: - description: "See [rrweb documentation](https://github.com/rrweb-io/rrweb/blob/master/docs/recipes/dive-into-event.md)." + description: >- + See [rrweb + documentation](https://github.com/rrweb-io/rrweb/blob/master/docs/recipes/dive-into-event.md). type: object additionalProperties: true properties: {} @@ -3484,7 +3822,7 @@ components: type: apiKey in: header name: X-BB-API-Key - description: "Your [Browserbase API Key](https://www.browserbase.com/settings)." + description: Your [Browserbase API Key](https://www.browserbase.com/settings). tags: [] security: - BrowserbaseAuth: []