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

# Function Runtime Health



## OpenAPI

````yaml https://api.notte.cc/openapi.json get /functions/health
openapi: 3.1.0
info:
  title: Notte API
  description: >-
    Notte API is a REST API that allows you to interact with Notte. It is used
    to create cloud browser sessions, scrape webpages, and run web ai agents to
    act on your behalf on the internet.
  version: 1.4.40
  x-logo:
    url: https://www.notte.cc/images/logo/logo-white.png
servers: []
security: []
tags:
  - name: agents
    description: Web AI agents (start, stop, status, replay, etc.)
  - name: sessions
    description: Session management (start, stop, status, etc.)
  - name: debug
    description: Session debugging tools (replay,logs, recording, etc.)
  - name: page
    description: Page operations withing a session (observe, step, scrape, etc.)
  - name: storage
    description: File storage interface (upload, download, list, etc.)
  - name: network
    description: Network requests/responses withing a session (intercept, etc.)
  - name: vaults
    description: >-
      Vault & Credentials management (create/delete vaults, create/delete
      credentials, etc.)
  - name: personas
    description: Persona management (create, delete, list emails, list sms, etc.)
  - name: scrape
    description: >-
      Webpage scraping (scrape, screenshot, etc.) with automatic session
      management.
  - name: health
    description: Health check endpoint.
  - name: usage
    description: Usage logs (usage, logs, etc.)
  - name: functions
    description: Functions management (create, delete, list, etc.)
paths:
  /functions/health:
    get:
      tags:
        - functions
      summary: Function Runtime Health
      operationId: function_runtime_health
      parameters:
        - name: x-notte-request-origin
          in: header
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: X-Notte-Request-Origin
        - name: x-notte-sdk-version
          in: header
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: X-Notte-Sdk-Version
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FunctionRuntimeHealthResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - OAuth2PasswordBearer: []
      x-codeSamples: []
components:
  schemas:
    FunctionRuntimeHealthResponse:
      properties:
        status:
          type: string
          enum:
            - ok
            - degraded
            - unreachable
          title: Status
          description: >-
            'ok' when the runtime reported itself, 'degraded' when it is alive
            but too old to describe itself (its image predates this endpoint),
            'unreachable' when it did not answer.
        reachable:
          type: boolean
          title: Reachable
          description: Whether the runtime answered an HTTP request at all.
        latency_ms:
          anyOf:
            - type: number
            - type: 'null'
          title: Latency Ms
          description: Round trip to the runtime, null when unreachable.
        python_version:
          anyOf:
            - type: string
            - type: 'null'
          title: Python Version
          description: Python the sandbox executes under, e.g. '3.12.0'.
        packages:
          items:
            $ref: '#/components/schemas/RuntimePackage'
          type: array
          title: Packages
          description: Non-stdlib imports the sandbox allows, with versions.
        stdlib_modules:
          items:
            type: string
          type: array
          title: Stdlib Modules
          description: >-
            Standard-library modules the sandbox allows. Versionless: the Python
            version covers them.
        reserved_env_names:
          items:
            type: string
          type: array
          title: Reserved Env Names
          description: >-
            `function_env` names the platform owns, rejected at write time.
            Served here so a client validating secret names before pushing them
            does not have to vendor its own copy and watch it drift.
        runtime_digest:
          anyOf:
            - type: string
            - type: 'null'
          title: Runtime Digest
          description: >-
            Digest of the reproducible contract - Python version, packages with
            their sources, allowed imports, reserved names - and nothing
            volatile, so it changes if and only if an environment built against
            it would now be wrong. Cache against it to detect a runner rebuild.
            Null unless `status` is 'ok', since a partial report is not a
            contract. Also returned as the response ETag.
        error:
          anyOf:
            - type: string
            - type: 'null'
          title: Error
          description: Why the probe failed, when it did.
      type: object
      required:
        - status
        - reachable
      title: FunctionRuntimeHealthResponse
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    RuntimePackage:
      properties:
        import_name:
          type: string
          title: Import Name
          description: >-
            The name a function writes in its `import` statement, e.g.
            `notte_sdk`.
        package:
          anyOf:
            - type: string
            - type: 'null'
          title: Package
          description: >-
            Distribution providing it, e.g. `notte-sdk`. Null when nothing on
            disk claims the name.
        version:
          anyOf:
            - type: string
            - type: 'null'
          title: Version
          description: Installed version of `package`, or null if unknown.
        source:
          anyOf:
            - type: string
            - type: 'null'
          title: Source
          description: >-
            Installable reference this came from when it did not come from an
            index, e.g.
            `git+https://github.com/nottelabs/notte@<sha>#subdirectory=packages/notte-sdk`.
            Null for an ordinary index install, where `version` is the whole
            identity. Read from the install's own PEP 610 record: the runner
            pins notte-sdk and notte-core to git SHAs, so those share a version
            number with a PyPI build that behaves differently, and reproducing
            the sandbox from `version` alone gets you the wrong code.
        installed:
          type: boolean
          title: Installed
          description: >-
            False for a name the upload validator accepts but the runtime image
            does not ship: such an import passes validation and then fails
            mid-run with ModuleNotFoundError.
          default: true
      type: object
      required:
        - import_name
      title: RuntimePackage
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    OAuth2PasswordBearer:
      type: oauth2
      flows:
        password:
          scopes: {}
          tokenUrl: token

````