diff --git a/src/libs/Browserbase/Generated/Browserbase.Models.FunctionsInvokeRequestSessionCreateParamsBrowserSettings.g.cs b/src/libs/Browserbase/Generated/Browserbase.Models.FunctionsInvokeRequestSessionCreateParamsBrowserSettings.g.cs index 5120bf6..ad9e293 100644 --- a/src/libs/Browserbase/Generated/Browserbase.Models.FunctionsInvokeRequestSessionCreateParamsBrowserSettings.g.cs +++ b/src/libs/Browserbase/Generated/Browserbase.Models.FunctionsInvokeRequestSessionCreateParamsBrowserSettings.g.cs @@ -109,7 +109,7 @@ public sealed partial class FunctionsInvokeRequestSessionCreateParamsBrowserSett public global::System.Collections.Generic.IList? Extensions { get; set; } /// - /// An optional list of allowed domains for the session. If provided, navigation will be restricted to these domains.
+ /// 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.).
/// Default Value: [] ///
[global::System.Text.Json.Serialization.JsonPropertyName("allowedDomains")] @@ -177,7 +177,7 @@ public sealed partial class FunctionsInvokeRequestSessionCreateParamsBrowserSett /// Default Value: [] /// /// - /// An optional list of allowed domains for the session. If provided, navigation will be restricted to these domains.
+ /// 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.).
/// Default Value: [] /// /// diff --git a/src/libs/Browserbase/Generated/Browserbase.Models.SessionsCreateRequestBrowserSettings.g.cs b/src/libs/Browserbase/Generated/Browserbase.Models.SessionsCreateRequestBrowserSettings.g.cs index 07db7e7..fe58f5f 100644 --- a/src/libs/Browserbase/Generated/Browserbase.Models.SessionsCreateRequestBrowserSettings.g.cs +++ b/src/libs/Browserbase/Generated/Browserbase.Models.SessionsCreateRequestBrowserSettings.g.cs @@ -81,6 +81,13 @@ public sealed partial class SessionsCreateRequestBrowserSettings [global::System.Text.Json.Serialization.JsonConverter(typeof(global::Browserbase.JsonConverters.SessionsCreateRequestBrowserSettingsOsJsonConverter))] public global::Browserbase.SessionsCreateRequestBrowserSettingsOs? Os { get; set; } + /// + /// 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.).
+ /// Default Value: [] + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("allowedDomains")] + public global::System.Collections.Generic.IList? AllowedDomains { get; set; } + /// /// Enable or disable ignoring of certificate errors in the browser. Defaults to `true`. /// @@ -128,6 +135,10 @@ public sealed partial class SessionsCreateRequestBrowserSettings /// /// Operating system for stealth mode. Valid values: windows, mac, linux, mobile, tablet /// + /// + /// 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.).
+ /// Default Value: [] + /// /// /// Enable or disable ignoring of certificate errors in the browser. Defaults to `true`. /// @@ -147,6 +158,7 @@ public SessionsCreateRequestBrowserSettings( string? captchaImageSelector, string? captchaInputSelector, global::Browserbase.SessionsCreateRequestBrowserSettingsOs? os, + global::System.Collections.Generic.IList? allowedDomains, bool? ignoreCertificateErrors) { this.Context = context; @@ -161,6 +173,7 @@ public SessionsCreateRequestBrowserSettings( this.CaptchaImageSelector = captchaImageSelector; this.CaptchaInputSelector = captchaInputSelector; this.Os = os; + this.AllowedDomains = allowedDomains; this.IgnoreCertificateErrors = ignoreCertificateErrors; } diff --git a/src/libs/Browserbase/openapi.yaml b/src/libs/Browserbase/openapi.yaml index 1387be8..cf29d0d 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: @@ -25,25 +25,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 @@ -54,12 +54,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 @@ -70,10 +70,8 @@ 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 @@ -85,17 +83,11 @@ 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: @@ -111,16 +103,10 @@ 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: @@ -129,7 +115,7 @@ paths: - publicKey - cipherAlgorithm - initializationVectorSize - /v1/contexts/{id}: + "/v1/contexts/{id}": get: operationId: Contexts_get summary: Get a Context @@ -140,12 +126,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 @@ -156,7 +142,7 @@ paths: schema: type: string responses: - '200': + "200": description: The request has succeeded. content: application/json: @@ -173,16 +159,10 @@ 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: @@ -201,10 +181,8 @@ 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 @@ -277,7 +255,7 @@ paths: default: 0 minimum: 0 responses: - '200': + "200": description: The request has succeeded. content: application/json: @@ -331,13 +309,11 @@ 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 @@ -346,7 +322,7 @@ paths: schema: type: string responses: - '200': + "200": description: The request has succeeded. content: application/json: @@ -399,7 +375,7 @@ paths: schema: type: string responses: - '204': + "204": description: There is no content to send for this request. /v1/extensions: post: @@ -418,13 +394,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 @@ -435,12 +411,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 @@ -451,15 +427,13 @@ 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: @@ -484,11 +458,7 @@ 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 @@ -501,15 +471,13 @@ 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: @@ -532,10 +500,7 @@ 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 @@ -549,10 +514,8 @@ 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: @@ -574,23 +537,19 @@ 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: @@ -613,10 +572,8 @@ 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: @@ -639,7 +596,7 @@ paths: - error - message - id - '504': + "504": description: The fetch request timed out. content: application/json: @@ -684,7 +641,7 @@ paths: maximum: 100 minimum: 1 responses: - '200': + "200": description: The request has succeeded. content: application/json: @@ -694,7 +651,7 @@ paths: data: type: array items: - $ref: '#/components/schemas/Function' + $ref: "#/components/schemas/Function" total: type: integer minimum: 0 @@ -727,7 +684,7 @@ paths: schema: type: string responses: - '200': + "200": description: The request has succeeded. content: application/json: @@ -737,14 +694,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 @@ -756,13 +713,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 @@ -774,7 +731,7 @@ paths: type: string format: uuid responses: - '200': + "200": description: The request has succeeded. content: application/json: @@ -784,14 +741,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 @@ -803,13 +760,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: @@ -826,7 +783,7 @@ paths: minLength: 1 required: - code - /v1/functions/invocations/{id}/logs: + "/v1/functions/invocations/{id}/logs": get: operationId: Invocations_getLogs summary: Get Invocation Logs @@ -838,7 +795,7 @@ paths: type: string format: uuid responses: - '200': + "200": description: The request has succeeded. content: application/json: @@ -848,14 +805,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 @@ -867,13 +824,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 @@ -905,7 +862,7 @@ paths: type: string format: uuid responses: - '200': + "200": description: The request has succeeded. content: application/json: @@ -915,14 +872,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 @@ -934,13 +891,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 @@ -966,9 +923,7 @@ 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 @@ -980,16 +935,12 @@ 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 @@ -1001,24 +952,16 @@ 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 @@ -1027,21 +970,13 @@ 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 @@ -1050,7 +985,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: @@ -1058,21 +993,13 @@ 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 @@ -1081,30 +1008,23 @@ paths: - browser-events default: [] allowedDomains: - description: >- - An optional list of allowed domains for the session. - If provided, navigation will be restricted to these - domains. + 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. @@ -1119,31 +1039,24 @@ 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 @@ -1170,7 +1083,7 @@ paths: type: string format: uuid responses: - '200': + "200": description: The request has succeeded. content: application/json: @@ -1180,7 +1093,7 @@ paths: results: type: array items: - $ref: '#/components/schemas/FunctionVersion' + $ref: "#/components/schemas/FunctionVersion" total: type: integer minimum: 0 @@ -1192,15 +1105,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 @@ -1211,13 +1124,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 @@ -1228,12 +1141,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 @@ -1260,7 +1173,7 @@ paths: required: - query responses: - '200': + "200": description: The request has succeeded. content: application/json: @@ -1327,22 +1240,19 @@ 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 @@ -1353,16 +1263,10 @@ 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 @@ -1374,16 +1278,12 @@ 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 @@ -1395,14 +1295,10 @@ 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`. @@ -1417,19 +1313,13 @@ 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 @@ -1437,35 +1327,32 @@ paths: - linux - 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.)." + 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 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. @@ -1489,23 +1376,18 @@ 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: @@ -1517,9 +1399,7 @@ 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 @@ -1544,13 +1424,10 @@ paths: body: JSON.stringify({}) }) - lang: Python - source: >- + source: |- import requests - url = "https://api.browserbase.com/v1/sessions" - payload = {} - headers = { @@ -1558,10 +1435,7 @@ 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: |- @@ -1592,9 +1466,8 @@ 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") @@ -1602,7 +1475,7 @@ paths: .header("Content-Type", "application/json") .body("{}") .asString(); - /v1/sessions/{id}: + "/v1/sessions/{id}": get: operationId: Sessions_get summary: Get a Session @@ -1613,13 +1486,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: @@ -1631,9 +1504,7 @@ 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 @@ -1652,23 +1523,20 @@ 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 @@ -1679,13 +1547,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 @@ -1696,15 +1564,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 @@ -1715,21 +1583,19 @@ 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}/replays: + $ref: "#/components/schemas/SessionRecording" + "/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 @@ -1739,7 +1605,7 @@ paths: type: string format: uuid responses: - '200': + "200": description: The request has succeeded. content: application/json: @@ -1749,19 +1615,17 @@ 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 @@ -1778,13 +1642,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 @@ -1807,7 +1671,7 @@ paths: required: - file responses: - '200': + "200": description: The request has succeeded. content: application/json: @@ -1824,9 +1688,7 @@ 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 @@ -1835,14 +1697,10 @@ 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 @@ -1854,9 +1712,7 @@ 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 @@ -1933,9 +1789,7 @@ 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. @@ -2018,11 +1872,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: @@ -2188,9 +2042,7 @@ 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 @@ -2215,9 +2067,7 @@ 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: @@ -2288,14 +2138,10 @@ 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. @@ -2309,10 +2155,7 @@ 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: {} @@ -2426,9 +2269,7 @@ 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: {} @@ -2449,7 +2290,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: []