> ## Documentation Index
> Fetch the complete documentation index at: https://docs.browserbase.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Invoke a Function



## OpenAPI

````yaml post /v1/functions/{id}/invoke
openapi: 3.0.0
info:
  title: Browserbase API
  description: Browserbase API for 3rd party developers
  version: v1
servers:
  - url: https://api.browserbase.com
    description: Public endpoint
    variables: {}
security:
  - BrowserbaseAuth: []
tags: []
paths:
  /v1/functions/{id}/invoke:
    post:
      summary: Invoke a Function
      operationId: Functions_invoke
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                params:
                  description: JSON object that can be stored in a JSONB column
                  type: object
                  additionalProperties: true
                  properties: {}
                sessionCreateParams:
                  type: object
                  properties:
                    extensionId:
                      description: >-
                        The uploaded Extension ID. See [Upload
                        Extension](/reference/api/upload-an-extension).
                      type: string
                    browserSettings:
                      type: object
                      properties:
                        context:
                          type: object
                          properties:
                            id:
                              description: The Context ID.
                              type: string
                            persist:
                              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).
                          type: string
                        viewport:
                          type: object
                          properties:
                            width:
                              description: The width of the browser.
                              type: integer
                            height:
                              description: The height of the browser.
                              type: integer
                        blockAds:
                          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`.
                          type: boolean
                        recordSession:
                          description: >-
                            Enable or disable session recording. Defaults to
                            `true`.
                          type: boolean
                        logSession:
                          description: >-
                            Enable or disable session logging. Defaults to
                            `true`.
                          type: boolean
                        advancedStealth:
                          description: Advanced Browser Stealth Mode
                          type: boolean
                        verified:
                          description: Verified Browser Mode
                          type: boolean
                        captchaImageSelector:
                          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)
                          type: string
                        os:
                          description: >-
                            Operating system for stealth mode. Valid values:
                            windows, mac, linux, mobile, tablet
                          type: string
                          enum:
                            - windows
                            - mac
                            - linux
                            - mobile
                            - tablet
                        size:
                          description: '[NOT IN DOCS] Resource size of the browser.'
                          type: string
                          default: small
                          enum:
                            - small
                            - medium
                            - large
                        enableNativeSelectPolyfill:
                          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.
                          type: boolean
                        extensions:
                          description: >-
                            [NOT IN DOCS] List of pre-installed extension names
                            and custom extension ids to enable on the browser
                          type: array
                          items:
                            type: string
                            enum:
                              - onepassword
                              - browser-events
                          default: []
                        allowedDomains:
                          description: >-
                            An optional list of allowed domains for the session.
                            If provided, navigation will be restricted to these
                            domains.
                          type: array
                          items:
                            type: string
                          default: []
                        ignoreCertificateErrors:
                          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.
                      anyOf:
                        - type: array
                          items:
                            anyOf:
                              - $ref: '#/components/schemas/BrowserbaseProxyConfig'
                              - $ref: '#/components/schemas/ExternalProxyConfig'
                              - $ref: '#/components/schemas/NoneProxyConfig'
                        - type: boolean
                    proxySettings:
                      description: '[NOT IN DOCS] Supplementary proxy settings. Optional.'
                      type: object
                      properties:
                        caCertificates:
                          description: >-
                            [NOT IN DOCS] The TLS certificate IDs to trust.
                            Optional.
                          type: array
                          items:
                            format: uuid
                            description: '[NOT IN DOCS] The TLS certificate ID to trust.'
                            type: string
                          default: []
                      required:
                        - caCertificates
                    userMetadata:
                      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).
                      type: integer
                      default: 900
                      maximum: 900
                      minimum: 60
      responses:
        '202':
          description: >-
            The request has been accepted for processing, but processing has not
            yet completed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Invocation'
components:
  schemas:
    BrowserbaseProxyConfig:
      type: object
      properties:
        type:
          description: >-
            Type of proxy. Always use 'browserbase' for the Browserbase managed
            proxy network.
          type: string
          enum:
            - browserbase
        geolocation:
          description: Geographic location for the proxy. Optional.
          type: object
          properties:
            city:
              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.
              type: string
              maxLength: 2
              minLength: 2
            country:
              description: Country code in ISO 3166-1 alpha-2 format
              type: string
              maxLength: 2
              minLength: 2
          required:
            - country
        domainPattern:
          description: >-
            Domain pattern for which this proxy should be used. If omitted,
            defaults to all domains. Optional.
          type: string
      required:
        - type
    ExternalProxyConfig:
      type: object
      properties:
        type:
          description: Type of proxy. Always 'external' for this config.
          type: string
          enum:
            - external
        server:
          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.
          type: string
        username:
          description: Username for external proxy authentication. Optional.
          type: string
        password:
          description: Password for external proxy authentication. Optional.
          type: string
      required:
        - type
        - server
    NoneProxyConfig:
      type: object
      properties:
        type:
          description: Type of proxy. Always 'none' for this config.
          type: string
          enum:
            - none
        domainPattern:
          description: >-
            Domain pattern for which this proxy should be used. If omitted,
            defaults to all domains. Optional.
          type: string
      required:
        - type
    Invocation:
      type: object
      properties:
        id:
          type: string
          format: uuid
        projectId:
          type: string
          format: uuid
        functionId:
          type: string
          format: uuid
        versionId:
          type: string
          format: uuid
        sessionId:
          type: string
          format: uuid
        region:
          type: string
          minLength: 1
        params:
          description: JSON object that can be stored in a JSONB column
          type: object
          additionalProperties: true
          properties: {}
        status:
          type: string
          enum:
            - PENDING
            - RUNNING
            - COMPLETED
            - FAILED
        results:
          description: JSON object that can be stored in a JSONB column
          type: object
          additionalProperties: true
          properties: {}
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        startedAt:
          type: string
          format: date-time
        endedAt:
          type: string
          format: date-time
        expiresAt:
          type: string
          format: date-time
      required:
        - id
        - projectId
        - functionId
        - versionId
        - sessionId
        - status
        - createdAt
        - updatedAt
        - startedAt
        - expiresAt
  securitySchemes:
    BrowserbaseAuth:
      type: apiKey
      in: header
      name: X-BB-API-Key
      description: Your [Browserbase API Key](https://www.browserbase.com/settings).

````