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

# Retrieve one session

> Requires the `sessions:read` secret-key scope.



## OpenAPI

````yaml /api-reference/openapi.json get /v1/sessions/{sessionId}
openapi: 3.1.0
info:
  title: Foil API
  version: '2026-03-25'
  description: >-
    Customer-facing Foil server APIs for sessions, visitor fingerprints,
    organizations, and API keys.
servers:
  - url: https://api.usefoil.com
    description: Production
security: []
tags:
  - name: Sessions
    description: Durable session readback endpoints.
  - name: Visitor fingerprints
    description: Durable visitor fingerprint readback endpoints.
  - name: Organizations
    description: Organization lifecycle endpoints.
  - name: API Keys
    description: Organization API key lifecycle endpoints.
  - name: Gate
    description: >-
      Registry, organization-owned services, signup sessions, agent tokens, and
      dashboard login sessions.
  - name: Gate Webhooks
    description: Outbound Gate webhook delivery contracts.
  - name: Webhooks
    description: Manage webhook endpoints, subscriptions, and outgoing event delivery.
  - name: Events
    description: Inspect organization events and their webhook delivery attempts.
paths:
  /v1/sessions/{sessionId}:
    get:
      tags:
        - Sessions
      summary: Retrieve one session
      description: Requires the `sessions:read` secret-key scope.
      operationId: getSession
      parameters:
        - name: sessionId
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/SessionId'
            example: sid_87wfetm98myh9awj0dpt28a3kc
      responses:
        '200':
          description: Session detail response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SessionDetailResponse'
                example:
                  data:
                    object: session
                    id: sid_87wfetm98myh9awj0dpt28a3kc
                    created_at: '2026-03-24T20:00:00.000Z'
                    client_user_id: user_123
                    decision:
                      event_id: evt_srwqc0yqhz4bxvtrdtf69q7vkr
                      automation_status: automated
                      risk_score: 94
                      evaluation_phase: snapshot
                      decision_status: preliminary
                      evaluated_at: '2026-03-24T20:00:05.000Z'
                    highlights:
                      - key: browser_automation
                        effect: increases_risk
                        importance: high
                        summary: Browser is being driven by automation
                        evidence:
                          - signal: webdriver_detected
                            name: Acme Growth Workspace
                    web_bot_auth:
                      status: verified
                      domain: browserless.io
                    network:
                      ip_address: 203.0.113.10
                      ip_version: ipv4
                      status: ready
                      summary: Browser is being driven by automation
                      location:
                        city: San Francisco
                        region: California
                        country: United States
                        country_code: US
                        latitude: 37.7749
                        longitude: -122.4194
                        timezone: America/Los_Angeles
                        postal_code: '94103'
                        accuracy_radius_km: 10
                      routing:
                        asn: '64512'
                        organization: SPECTRANET LIMITED
                      anonymity:
                        vpn: true
                        proxy: false
                        tor: false
                        relay: false
                        hosting: false
                        residential_proxy: false
                        callback_proxy: false
                        provider: Mullvad VPN
                      reputation:
                        listed: true
                        categories:
                          - vpn
                        suspicious_network: false
                      evidence:
                        risk_signals:
                          - vpn
                        operator_tags:
                          - vpn
                        client_types:
                          - consumer
                        client_count: 1
                      evaluated_at: '2026-03-24T20:00:05.000Z'
                    runtime_integrity:
                      tampering: high_risk
                      developer_tools: high_risk
                      emulation: clean
                      virtualization: high_risk
                      privacy_hardening: notice
                      identity_spoofing: clean
                      replay: clean
                      outdated_environment: clean
                    native_runtime_integrity:
                      platform: ios
                      jailbreak_or_root:
                        detected: true
                        signals:
                          - webdriver_detected
                        present_paths:
                          - present_paths
                        dyld_insert_libraries:
                          - dyld_insert_libraries
                        verified_boot_state: verified_boot_state
                        magisk_mount_present: true
                        su_on_path: true
                      hooks:
                        detected: true
                        frida_ports:
                          - 1.5
                        frida_thread_names:
                          - Acme Workspace
                        hooked_symbols:
                          - hooked_symbols
                        self_hooked_symbols:
                          - self_hooked_symbols
                        prologue_anomaly_count: 3
                        unexpected_dyld_images:
                          - string
                        xposed_packages:
                          - xposed_packages
                      debugger:
                        attached: true
                        tracer_pid: 1.5
                        breakpoint_count: 3
                        watchpoint_thread_count: 3
                      code_signing:
                        invalid: true
                        code_sign_valid: true
                        text_integrity_ok: true
                        application_debuggable: true
                        dyld_insert_libraries:
                          - dyld_insert_libraries
                      simulator_or_emulator:
                        detected: true
                        is_ios_app_on_mac: true
                        qemu_files:
                          - qemu_files
                        ro_hardware: ro_hardware
                        ro_product_model: chrome
                        simulator_env_keys:
                          - FOIL_SAMPLE_KEY
                      hardware_claims_mismatch:
                        detected: true
                        signals:
                          - webdriver_detected
                      sim_posture:
                        detected: true
                        signals:
                          - webdriver_detected
                      app_provenance:
                        detected: true
                        signals:
                          - webdriver_detected
                      debug_posture:
                        detected: true
                        adb_enabled: true
                        developer_options_enabled: true
                        app_debuggable: true
                        app_profileable: true
                        app_test_only: true
                        debugger_attached: true
                        get_task_allow: true
                        embedded_provisioning_profile_present: true
                        receipt_is_sandbox: true
                        receipt_is_testflight: true
                        development_bundle: true
                        active_debugger_attached: true
                        breakpoint_count: 3
                        exception_port_count: 3
                        watchpoint_thread_count: 3
                        tracer_pid: 1.5
                        direct_syscall_tracer_pid: 1.5
                        risk_signals:
                          - vpn
                    native_app:
                      bundle_id: bundle_id
                      app_version: 123.0.0.0
                      app_build: app_build
                      install_time_epoch_ms: 1.5
                      provisioning_team: provisioning_team
                    native_carrier:
                      platform: ios
                      carrier_name: Acme Workspace
                      country_iso: United States
                      mcc: mcc
                      mnc: mnc
                      phone_type: phone_type
                      network_type: network_type
                      radio_access:
                        - radio_access
                    native_motion_print:
                      platform: ios
                      sample_count: 3
                      gyro:
                        bias:
                          - 1.5
                          - 2.5
                          - 3.5
                        noise:
                          - 1.5
                          - 2.5
                          - 3.5
                      accel:
                        bias:
                          - 1.5
                          - 2.5
                          - 3.5
                        noise:
                          - 1.5
                          - 2.5
                          - 3.5
                      mag:
                        bias:
                          - 1.5
                          - 2.5
                          - 3.5
                        noise:
                          - 1.5
                          - 2.5
                          - 3.5
                    device_identity:
                      object: device_identity
                      id: sid_87wfetm98myh9awj0dpt28a3kc
                      confidence: 93
                      source: attested
                      platform: ios
                      identified_at: '2026-03-24T20:00:05.000Z'
                      lifecycle:
                        first_seen_at: '2026-03-01T18:22:11.000Z'
                        last_seen_at: '2026-03-24T20:00:05.000Z'
                        seen_count: 14
                      matched_anchors:
                        - matched_anchors
                    install_id: install_id
                    visitor_fingerprint:
                      object: visitor_fingerprint
                      id: vid_7cyvmdfjs3rzznf8m65v3bv51m
                      confidence: 1
                      identified_at: '2026-03-24T20:00:05.000Z'
                      lifecycle:
                        first_seen_at: '2026-03-01T18:22:11.000Z'
                        last_seen_at: '2026-03-24T20:00:05.000Z'
                        seen_count: 1
                    connection_fingerprint:
                      ja4:
                        hash: t13d1516h2_0123456789ab_fedcba987654
                        profile: chrome
                        family: chromium
                        product: chrome
                        confidence: exact
                        match_source: full_ja4
                        deterministic: true
                        reference:
                          label: Chrome
                          source: master_db
                          protocol: t
                          tls_version: '13'
                          sni: d
                          alpn: h2
                          cipher_count:
                            min: 15
                            max: 16
                          ext_count:
                            min: 15
                            max: 16
                          sample_size: 63
                          verified: true
                      http2:
                        akamai_fingerprint: 1:65536;4:131072;5:16384|12517377|0|m,p,a,s
                        profile: chrome
                      user_agent_alignment: match
                    previous_decisions:
                      - event_id: evt_srwqc0yqhz4bxvtrdtf69q7vkr
                        automation_status: automated
                        risk_score: 94
                        evaluation_phase: snapshot
                        decision_status: preliminary
                        evaluated_at: '2026-03-24T20:00:05.000Z'
                    request:
                      url: https://app.acme.co/signup
                      referrer: https://app.acme.co/
                      user_agent: >-
                        Mozilla/5.0 (Macintosh; Intel Mac OS X 14_4)
                        AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0
                        Safari/537.36
                    browser:
                      name: Chromium
                      version: 123.0.0.0
                      major_version: '123'
                      engine: blink
                    device:
                      form_factor: desktop
                      operating_system:
                        name: macOS
                        version: 123.0.0.0
                      architecture: arm
                      screen:
                        size: 1440x900
                        color_depth: 1
                        pixel_ratio: 1.5
                        orientation_type: landscape-primary
                      locale:
                        timezone: America/Los_Angeles
                        primary_language: en-US
                        languages:
                          - en-US
                          - en
                      capabilities:
                        touch:
                          available: true
                          max_touch_points: 1
                        storage:
                          cookies: true
                          local_storage: true
                          indexed_db: true
                          service_worker: true
                          window_name: true
                        webgpu:
                          available: true
                        platform_authenticator:
                          available: true
                          conditional_mediation: true
                        media_devices:
                          available: true
                        speech_synthesis:
                          available: true
                    analysis_coverage:
                      browser: true
                      device: true
                      network: true
                      runtime: true
                      behavioral: true
                      visitor_identity: true
                    signals_fired:
                      - signal: webdriver_detected
                        role: owner
                        category: environment
                        strength: definitive
                        signal_score: 100
                    client_telemetry:
                      navigator:
                        platform: macOS
                        vendor: Google Inc.
                        hardware_concurrency: 8
                        device_memory: 8
                        max_touch_points: 0
                        pdf_viewer_enabled: true
                        cookie_enabled: true
                        product_sub: '20030107'
                        primary_language: en-US
                        languages:
                          - en-US
                          - en
                        mime_types_count: 3
                        plugins:
                          - PDF Viewer
                      storage:
                        cookies: true
                        local_storage: true
                        session_storage: true
                        indexed_db: true
                        service_worker: true
                        window_name: true
                      canvas:
                        hash: 1234567890
                        geometry_hash: 1234567890
                        text_hash: 1234567890
                        winding: true
                        noise_detected: true
                        offscreen_consistent: true
                      graphics:
                        webgl:
                          vendor: Google Inc.
                          renderer: >-
                            ANGLE (Apple, ANGLE Metal Renderer: Apple M2,
                            Unspecified Version)
                          version: WebGL 1.0
                          shading_language_version: WebGL GLSL ES 1.0
                          parameters_hash: '01234567'
                          extensions_hash: 1234567890
                          extension_parameters_hash: '01234567'
                          shader_precision_hash: 1234567890
                        webgpu:
                          available: true
                          adapter_vendor: Google Inc.
                          adapter_architecture: arm
                          fallback_adapter: true
                          features_hash: 1234567890
                          limits_hash: 1234567890
                      audio:
                        hash: 1.23456e-7
                        sample_rate: 1.5
                        channel_count: 3
                        voice_count: 22
                        local_voice_count: 20
                        default_voice_lang: en-US
                        noise_detected: true
                      fonts:
                        detected_count: 3
                        tested_count: 3
                        enumeration_hash: 1234567890
                        metrics_hash: 1234567890
                        preferences_hash: 1234567890
                        emoji_hash: 1234567890
                      media:
                        device_count: 3
                        counts_by_kind:
                          audioinput: 1
                          audiooutput: 1
                          videoinput: 1
                        blank_label_count: 3
                        topology_hash: 1234567890
                    attribution:
                      labels:
                        - kind: actor
                          value: automation
                          label: Automation
                          confidence: 98
                        - kind: tool
                          value: selenium
                          label: Selenium
                          confidence: 88
                      behaviors:
                        - channel: typing
                          value: synthetic-typing
                          label: Synthetic Typing
                          confidence: 86
                  meta:
                    request_id: req_cf147349a4134208aebb8c70e25fb7e1
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorEnvelope'
                example:
                  error:
                    code: request.validation_failed
                    message: Observation payload failed validation.
                    status: 1
                    retryable: true
                    request_id: req_cf147349a4134208aebb8c70e25fb7e1
                    docs_url: https://app.acme.co/signup
                    details:
                      fields:
                        - name: Acme Growth Workspace
                          issue: required
                          expected: string
                          received: any_of
                      allowed_values:
                        - verified
                      header_name: x-forwarded-for
                      parameter_set: browser_fingerprint
                      next_action: retry
        '403':
          description: Secret key required.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorEnvelope'
                example:
                  error:
                    code: request.validation_failed
                    message: Observation payload failed validation.
                    status: 1
                    retryable: true
                    request_id: req_cf147349a4134208aebb8c70e25fb7e1
                    docs_url: https://app.acme.co/signup
                    details:
                      fields:
                        - name: Acme Growth Workspace
                          issue: required
                          expected: string
                          received: any_of
                      allowed_values:
                        - verified
                      header_name: x-forwarded-for
                      parameter_set: browser_fingerprint
                      next_action: retry
        '404':
          description: Session not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorEnvelope'
                example:
                  error:
                    code: request.validation_failed
                    message: Observation payload failed validation.
                    status: 1
                    retryable: true
                    request_id: req_cf147349a4134208aebb8c70e25fb7e1
                    docs_url: https://app.acme.co/signup
                    details:
                      fields:
                        - name: Acme Growth Workspace
                          issue: required
                          expected: string
                          received: any_of
                      allowed_values:
                        - verified
                      header_name: x-forwarded-for
                      parameter_set: browser_fingerprint
                      next_action: retry
components:
  schemas:
    SessionId:
      type: string
      pattern: ^sid_[0123456789abcdefghjkmnpqrstvwxyz]{26}$
      example: sid_87wfetm98myh9awj0dpt28a3kc
    SessionDetailResponse:
      type: object
      additionalProperties: false
      required:
        - data
        - meta
      properties:
        data:
          $ref: '#/components/schemas/SessionDetail'
          example:
            object: session
            id: sid_87wfetm98myh9awj0dpt28a3kc
            created_at: '2026-03-24T20:00:00.000Z'
            client_user_id: user_123
            decision:
              event_id: evt_srwqc0yqhz4bxvtrdtf69q7vkr
              automation_status: automated
              risk_score: 94
              evaluation_phase: snapshot
              decision_status: preliminary
              evaluated_at: '2026-03-24T20:00:05.000Z'
            highlights:
              - key: browser_automation
                effect: increases_risk
                importance: high
                summary: Browser is being driven by automation
                evidence:
                  - signal: webdriver_detected
                    name: Acme Growth Workspace
            web_bot_auth:
              status: verified
              domain: browserless.io
            network:
              ip_address: 203.0.113.10
              ip_version: ipv4
              status: ready
              summary: Browser is being driven by automation
              location:
                city: San Francisco
                region: California
                country: United States
                country_code: US
                latitude: 37.7749
                longitude: -122.4194
                timezone: America/Los_Angeles
                postal_code: '94103'
                accuracy_radius_km: 10
              routing:
                asn: '64512'
                organization: SPECTRANET LIMITED
              anonymity:
                vpn: true
                proxy: false
                tor: false
                relay: false
                hosting: false
                residential_proxy: false
                callback_proxy: false
                provider: Mullvad VPN
              reputation:
                listed: true
                categories:
                  - vpn
                suspicious_network: false
              evidence:
                risk_signals:
                  - vpn
                operator_tags:
                  - vpn
                client_types:
                  - consumer
                client_count: 1
              evaluated_at: '2026-03-24T20:00:05.000Z'
            runtime_integrity:
              tampering: high_risk
              developer_tools: high_risk
              emulation: clean
              virtualization: high_risk
              privacy_hardening: notice
              identity_spoofing: clean
              replay: clean
              outdated_environment: clean
            native_runtime_integrity:
              platform: ios
              jailbreak_or_root:
                detected: true
                signals:
                  - webdriver_detected
                present_paths:
                  - present_paths
                dyld_insert_libraries:
                  - dyld_insert_libraries
                verified_boot_state: verified_boot_state
                magisk_mount_present: true
                su_on_path: true
              hooks:
                detected: true
                frida_ports:
                  - 1.5
                frida_thread_names:
                  - Acme Workspace
                hooked_symbols:
                  - hooked_symbols
                self_hooked_symbols:
                  - self_hooked_symbols
                prologue_anomaly_count: 3
                unexpected_dyld_images:
                  - string
                xposed_packages:
                  - xposed_packages
              debugger:
                attached: true
                tracer_pid: 1.5
                breakpoint_count: 3
                watchpoint_thread_count: 3
              code_signing:
                invalid: true
                code_sign_valid: true
                text_integrity_ok: true
                application_debuggable: true
                dyld_insert_libraries:
                  - dyld_insert_libraries
              simulator_or_emulator:
                detected: true
                is_ios_app_on_mac: true
                qemu_files:
                  - qemu_files
                ro_hardware: ro_hardware
                ro_product_model: chrome
                simulator_env_keys:
                  - FOIL_SAMPLE_KEY
              hardware_claims_mismatch:
                detected: true
                signals:
                  - webdriver_detected
              sim_posture:
                detected: true
                signals:
                  - webdriver_detected
              app_provenance:
                detected: true
                signals:
                  - webdriver_detected
              debug_posture:
                detected: true
                adb_enabled: true
                developer_options_enabled: true
                app_debuggable: true
                app_profileable: true
                app_test_only: true
                debugger_attached: true
                get_task_allow: true
                embedded_provisioning_profile_present: true
                receipt_is_sandbox: true
                receipt_is_testflight: true
                development_bundle: true
                active_debugger_attached: true
                breakpoint_count: 3
                exception_port_count: 3
                watchpoint_thread_count: 3
                tracer_pid: 1.5
                direct_syscall_tracer_pid: 1.5
                risk_signals:
                  - vpn
            native_app:
              bundle_id: bundle_id
              app_version: 123.0.0.0
              app_build: app_build
              install_time_epoch_ms: 1.5
              provisioning_team: provisioning_team
            native_carrier:
              platform: ios
              carrier_name: Acme Workspace
              country_iso: United States
              mcc: mcc
              mnc: mnc
              phone_type: phone_type
              network_type: network_type
              radio_access:
                - radio_access
            native_motion_print:
              platform: ios
              sample_count: 3
              gyro:
                bias:
                  - 1.5
                  - 2.5
                  - 3.5
                noise:
                  - 1.5
                  - 2.5
                  - 3.5
              accel:
                bias:
                  - 1.5
                  - 2.5
                  - 3.5
                noise:
                  - 1.5
                  - 2.5
                  - 3.5
              mag:
                bias:
                  - 1.5
                  - 2.5
                  - 3.5
                noise:
                  - 1.5
                  - 2.5
                  - 3.5
            device_identity:
              object: device_identity
              id: sid_87wfetm98myh9awj0dpt28a3kc
              confidence: 93
              source: attested
              platform: ios
              identified_at: '2026-03-24T20:00:05.000Z'
              lifecycle:
                first_seen_at: '2026-03-01T18:22:11.000Z'
                last_seen_at: '2026-03-24T20:00:05.000Z'
                seen_count: 14
              matched_anchors:
                - matched_anchors
            install_id: install_id
            visitor_fingerprint:
              object: visitor_fingerprint
              id: vid_7cyvmdfjs3rzznf8m65v3bv51m
              confidence: 1
              identified_at: '2026-03-24T20:00:05.000Z'
              lifecycle:
                first_seen_at: '2026-03-01T18:22:11.000Z'
                last_seen_at: '2026-03-24T20:00:05.000Z'
                seen_count: 1
            connection_fingerprint:
              ja4:
                hash: t13d1516h2_0123456789ab_fedcba987654
                profile: chrome
                family: chromium
                product: chrome
                confidence: exact
                match_source: full_ja4
                deterministic: true
                reference:
                  label: Chrome
                  source: master_db
                  protocol: t
                  tls_version: '13'
                  sni: d
                  alpn: h2
                  cipher_count:
                    min: 15
                    max: 16
                  ext_count:
                    min: 15
                    max: 16
                  sample_size: 63
                  verified: true
              http2:
                akamai_fingerprint: 1:65536;4:131072;5:16384|12517377|0|m,p,a,s
                profile: chrome
              user_agent_alignment: match
            previous_decisions:
              - event_id: evt_srwqc0yqhz4bxvtrdtf69q7vkr
                automation_status: automated
                risk_score: 94
                evaluation_phase: snapshot
                decision_status: preliminary
                evaluated_at: '2026-03-24T20:00:05.000Z'
            request:
              url: https://app.acme.co/signup
              referrer: https://app.acme.co/
              user_agent: >-
                Mozilla/5.0 (Macintosh; Intel Mac OS X 14_4) AppleWebKit/537.36
                (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36
            browser:
              name: Chromium
              version: 123.0.0.0
              major_version: '123'
              engine: blink
            device:
              form_factor: desktop
              operating_system:
                name: macOS
                version: 123.0.0.0
              architecture: arm
              screen:
                size: 1440x900
                color_depth: 1
                pixel_ratio: 1.5
                orientation_type: landscape-primary
              locale:
                timezone: America/Los_Angeles
                primary_language: en-US
                languages:
                  - en-US
                  - en
              capabilities:
                touch:
                  available: true
                  max_touch_points: 1
                storage:
                  cookies: true
                  local_storage: true
                  indexed_db: true
                  service_worker: true
                  window_name: true
                webgpu:
                  available: true
                platform_authenticator:
                  available: true
                  conditional_mediation: true
                media_devices:
                  available: true
                speech_synthesis:
                  available: true
            analysis_coverage:
              browser: true
              device: true
              network: true
              runtime: true
              behavioral: true
              visitor_identity: true
            signals_fired:
              - signal: webdriver_detected
                role: owner
                category: environment
                strength: definitive
                signal_score: 100
            client_telemetry:
              navigator:
                platform: macOS
                vendor: Google Inc.
                hardware_concurrency: 8
                device_memory: 8
                max_touch_points: 0
                pdf_viewer_enabled: true
                cookie_enabled: true
                product_sub: '20030107'
                primary_language: en-US
                languages:
                  - en-US
                  - en
                mime_types_count: 3
                plugins:
                  - PDF Viewer
              storage:
                cookies: true
                local_storage: true
                session_storage: true
                indexed_db: true
                service_worker: true
                window_name: true
              canvas:
                hash: 1234567890
                geometry_hash: 1234567890
                text_hash: 1234567890
                winding: true
                noise_detected: true
                offscreen_consistent: true
              graphics:
                webgl:
                  vendor: Google Inc.
                  renderer: >-
                    ANGLE (Apple, ANGLE Metal Renderer: Apple M2, Unspecified
                    Version)
                  version: WebGL 1.0
                  shading_language_version: WebGL GLSL ES 1.0
                  parameters_hash: '01234567'
                  extensions_hash: 1234567890
                  extension_parameters_hash: '01234567'
                  shader_precision_hash: 1234567890
                webgpu:
                  available: true
                  adapter_vendor: Google Inc.
                  adapter_architecture: arm
                  fallback_adapter: true
                  features_hash: 1234567890
                  limits_hash: 1234567890
              audio:
                hash: 1.23456e-7
                sample_rate: 1.5
                channel_count: 3
                voice_count: 22
                local_voice_count: 20
                default_voice_lang: en-US
                noise_detected: true
              fonts:
                detected_count: 3
                tested_count: 3
                enumeration_hash: 1234567890
                metrics_hash: 1234567890
                preferences_hash: 1234567890
                emoji_hash: 1234567890
              media:
                device_count: 3
                counts_by_kind:
                  audioinput: 1
                  audiooutput: 1
                  videoinput: 1
                blank_label_count: 3
                topology_hash: 1234567890
            attribution:
              labels:
                - kind: actor
                  value: automation
                  label: Automation
                  confidence: 98
                - kind: tool
                  value: selenium
                  label: Selenium
                  confidence: 88
              behaviors:
                - channel: typing
                  value: synthetic-typing
                  label: Synthetic Typing
                  confidence: 86
        meta:
          $ref: '#/components/schemas/ResponseMeta'
          example:
            request_id: req_cf147349a4134208aebb8c70e25fb7e1
      example:
        data:
          object: session
          id: sid_87wfetm98myh9awj0dpt28a3kc
          created_at: '2026-03-24T20:00:00.000Z'
          client_user_id: user_123
          decision:
            event_id: evt_srwqc0yqhz4bxvtrdtf69q7vkr
            automation_status: automated
            risk_score: 94
            evaluation_phase: snapshot
            decision_status: preliminary
            evaluated_at: '2026-03-24T20:00:05.000Z'
          highlights:
            - key: browser_automation
              effect: increases_risk
              importance: high
              summary: Browser is being driven by automation
              evidence:
                - signal: webdriver_detected
                  name: Acme Growth Workspace
          web_bot_auth:
            status: verified
            domain: browserless.io
          network:
            ip_address: 203.0.113.10
            ip_version: ipv4
            status: ready
            summary: Browser is being driven by automation
            location:
              city: San Francisco
              region: California
              country: United States
              country_code: US
              latitude: 37.7749
              longitude: -122.4194
              timezone: America/Los_Angeles
              postal_code: '94103'
              accuracy_radius_km: 10
            routing:
              asn: '64512'
              organization: SPECTRANET LIMITED
            anonymity:
              vpn: true
              proxy: false
              tor: false
              relay: false
              hosting: false
              residential_proxy: false
              callback_proxy: false
              provider: Mullvad VPN
            reputation:
              listed: true
              categories:
                - vpn
              suspicious_network: false
            evidence:
              risk_signals:
                - vpn
              operator_tags:
                - vpn
              client_types:
                - consumer
              client_count: 1
            evaluated_at: '2026-03-24T20:00:05.000Z'
          runtime_integrity:
            tampering: high_risk
            developer_tools: high_risk
            emulation: clean
            virtualization: high_risk
            privacy_hardening: notice
            identity_spoofing: clean
            replay: clean
            outdated_environment: clean
          native_runtime_integrity:
            platform: ios
            jailbreak_or_root:
              detected: true
              signals:
                - webdriver_detected
              present_paths:
                - present_paths
              dyld_insert_libraries:
                - dyld_insert_libraries
              verified_boot_state: verified_boot_state
              magisk_mount_present: true
              su_on_path: true
            hooks:
              detected: true
              frida_ports:
                - 1.5
              frida_thread_names:
                - Acme Workspace
              hooked_symbols:
                - hooked_symbols
              self_hooked_symbols:
                - self_hooked_symbols
              prologue_anomaly_count: 3
              unexpected_dyld_images:
                - string
              xposed_packages:
                - xposed_packages
            debugger:
              attached: true
              tracer_pid: 1.5
              breakpoint_count: 3
              watchpoint_thread_count: 3
            code_signing:
              invalid: true
              code_sign_valid: true
              text_integrity_ok: true
              application_debuggable: true
              dyld_insert_libraries:
                - dyld_insert_libraries
            simulator_or_emulator:
              detected: true
              is_ios_app_on_mac: true
              qemu_files:
                - qemu_files
              ro_hardware: ro_hardware
              ro_product_model: chrome
              simulator_env_keys:
                - FOIL_SAMPLE_KEY
            hardware_claims_mismatch:
              detected: true
              signals:
                - webdriver_detected
            sim_posture:
              detected: true
              signals:
                - webdriver_detected
            app_provenance:
              detected: true
              signals:
                - webdriver_detected
            debug_posture:
              detected: true
              adb_enabled: true
              developer_options_enabled: true
              app_debuggable: true
              app_profileable: true
              app_test_only: true
              debugger_attached: true
              get_task_allow: true
              embedded_provisioning_profile_present: true
              receipt_is_sandbox: true
              receipt_is_testflight: true
              development_bundle: true
              active_debugger_attached: true
              breakpoint_count: 3
              exception_port_count: 3
              watchpoint_thread_count: 3
              tracer_pid: 1.5
              direct_syscall_tracer_pid: 1.5
              risk_signals:
                - vpn
          native_app:
            bundle_id: bundle_id
            app_version: 123.0.0.0
            app_build: app_build
            install_time_epoch_ms: 1.5
            provisioning_team: provisioning_team
          native_carrier:
            platform: ios
            carrier_name: Acme Workspace
            country_iso: United States
            mcc: mcc
            mnc: mnc
            phone_type: phone_type
            network_type: network_type
            radio_access:
              - radio_access
          native_motion_print:
            platform: ios
            sample_count: 3
            gyro:
              bias:
                - 1.5
                - 2.5
                - 3.5
              noise:
                - 1.5
                - 2.5
                - 3.5
            accel:
              bias:
                - 1.5
                - 2.5
                - 3.5
              noise:
                - 1.5
                - 2.5
                - 3.5
            mag:
              bias:
                - 1.5
                - 2.5
                - 3.5
              noise:
                - 1.5
                - 2.5
                - 3.5
          device_identity:
            object: device_identity
            id: sid_87wfetm98myh9awj0dpt28a3kc
            confidence: 93
            source: attested
            platform: ios
            identified_at: '2026-03-24T20:00:05.000Z'
            lifecycle:
              first_seen_at: '2026-03-01T18:22:11.000Z'
              last_seen_at: '2026-03-24T20:00:05.000Z'
              seen_count: 14
            matched_anchors:
              - matched_anchors
          install_id: install_id
          visitor_fingerprint:
            object: visitor_fingerprint
            id: vid_7cyvmdfjs3rzznf8m65v3bv51m
            confidence: 1
            identified_at: '2026-03-24T20:00:05.000Z'
            lifecycle:
              first_seen_at: '2026-03-01T18:22:11.000Z'
              last_seen_at: '2026-03-24T20:00:05.000Z'
              seen_count: 1
          connection_fingerprint:
            ja4:
              hash: t13d1516h2_0123456789ab_fedcba987654
              profile: chrome
              family: chromium
              product: chrome
              confidence: exact
              match_source: full_ja4
              deterministic: true
              reference:
                label: Chrome
                source: master_db
                protocol: t
                tls_version: '13'
                sni: d
                alpn: h2
                cipher_count:
                  min: 15
                  max: 16
                ext_count:
                  min: 15
                  max: 16
                sample_size: 63
                verified: true
            http2:
              akamai_fingerprint: 1:65536;4:131072;5:16384|12517377|0|m,p,a,s
              profile: chrome
            user_agent_alignment: match
          previous_decisions:
            - event_id: evt_srwqc0yqhz4bxvtrdtf69q7vkr
              automation_status: automated
              risk_score: 94
              evaluation_phase: snapshot
              decision_status: preliminary
              evaluated_at: '2026-03-24T20:00:05.000Z'
          request:
            url: https://app.acme.co/signup
            referrer: https://app.acme.co/
            user_agent: >-
              Mozilla/5.0 (Macintosh; Intel Mac OS X 14_4) AppleWebKit/537.36
              (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36
          browser:
            name: Chromium
            version: 123.0.0.0
            major_version: '123'
            engine: blink
          device:
            form_factor: desktop
            operating_system:
              name: macOS
              version: 123.0.0.0
            architecture: arm
            screen:
              size: 1440x900
              color_depth: 1
              pixel_ratio: 1.5
              orientation_type: landscape-primary
            locale:
              timezone: America/Los_Angeles
              primary_language: en-US
              languages:
                - en-US
                - en
            capabilities:
              touch:
                available: true
                max_touch_points: 1
              storage:
                cookies: true
                local_storage: true
                indexed_db: true
                service_worker: true
                window_name: true
              webgpu:
                available: true
              platform_authenticator:
                available: true
                conditional_mediation: true
              media_devices:
                available: true
              speech_synthesis:
                available: true
          analysis_coverage:
            browser: true
            device: true
            network: true
            runtime: true
            behavioral: true
            visitor_identity: true
          signals_fired:
            - signal: webdriver_detected
              role: owner
              category: environment
              strength: definitive
              signal_score: 100
          client_telemetry:
            navigator:
              platform: macOS
              vendor: Google Inc.
              hardware_concurrency: 8
              device_memory: 8
              max_touch_points: 0
              pdf_viewer_enabled: true
              cookie_enabled: true
              product_sub: '20030107'
              primary_language: en-US
              languages:
                - en-US
                - en
              mime_types_count: 3
              plugins:
                - PDF Viewer
            storage:
              cookies: true
              local_storage: true
              session_storage: true
              indexed_db: true
              service_worker: true
              window_name: true
            canvas:
              hash: 1234567890
              geometry_hash: 1234567890
              text_hash: 1234567890
              winding: true
              noise_detected: true
              offscreen_consistent: true
            graphics:
              webgl:
                vendor: Google Inc.
                renderer: >-
                  ANGLE (Apple, ANGLE Metal Renderer: Apple M2, Unspecified
                  Version)
                version: WebGL 1.0
                shading_language_version: WebGL GLSL ES 1.0
                parameters_hash: '01234567'
                extensions_hash: 1234567890
                extension_parameters_hash: '01234567'
                shader_precision_hash: 1234567890
              webgpu:
                available: true
                adapter_vendor: Google Inc.
                adapter_architecture: arm
                fallback_adapter: true
                features_hash: 1234567890
                limits_hash: 1234567890
            audio:
              hash: 1.23456e-7
              sample_rate: 1.5
              channel_count: 3
              voice_count: 22
              local_voice_count: 20
              default_voice_lang: en-US
              noise_detected: true
            fonts:
              detected_count: 3
              tested_count: 3
              enumeration_hash: 1234567890
              metrics_hash: 1234567890
              preferences_hash: 1234567890
              emoji_hash: 1234567890
            media:
              device_count: 3
              counts_by_kind:
                audioinput: 1
                audiooutput: 1
                videoinput: 1
              blank_label_count: 3
              topology_hash: 1234567890
          attribution:
            labels:
              - kind: actor
                value: automation
                label: Automation
                confidence: 98
              - kind: tool
                value: selenium
                label: Selenium
                confidence: 88
            behaviors:
              - channel: typing
                value: synthetic-typing
                label: Synthetic Typing
                confidence: 86
        meta:
          request_id: req_cf147349a4134208aebb8c70e25fb7e1
    ApiErrorEnvelope:
      type: object
      additionalProperties: false
      required:
        - error
      properties:
        error:
          $ref: '#/components/schemas/PublicError'
          example:
            code: request.validation_failed
            message: Observation payload failed validation.
            status: 1
            retryable: true
            request_id: req_cf147349a4134208aebb8c70e25fb7e1
            docs_url: https://app.acme.co/signup
            details:
              fields:
                - name: Acme Growth Workspace
                  issue: required
                  expected: string
                  received: any_of
              allowed_values:
                - verified
              header_name: x-forwarded-for
              parameter_set: browser_fingerprint
              next_action: retry
      example:
        error:
          code: request.validation_failed
          message: Observation payload failed validation.
          status: 1
          retryable: true
          request_id: req_cf147349a4134208aebb8c70e25fb7e1
          docs_url: https://app.acme.co/signup
          details:
            fields:
              - name: Acme Growth Workspace
                issue: required
                expected: string
                received: any_of
            allowed_values:
              - verified
            header_name: x-forwarded-for
            parameter_set: browser_fingerprint
            next_action: retry
    SessionDetail:
      type: object
      additionalProperties: false
      required:
        - object
        - id
        - created_at
        - decision
        - highlights
        - attribution
        - web_bot_auth
        - network
        - runtime_integrity
        - native_runtime_integrity
        - native_app
        - native_carrier
        - native_motion_print
        - device_identity
        - install_id
        - visitor_fingerprint
        - connection_fingerprint
        - previous_decisions
        - request
        - browser
        - device
        - analysis_coverage
        - signals_fired
        - client_telemetry
        - client_user_id
      properties:
        object:
          const: session
          example: session
        id:
          $ref: '#/components/schemas/SessionId'
          example: sid_87wfetm98myh9awj0dpt28a3kc
        created_at:
          type:
            - string
            - 'null'
          format: date-time
          example: '2026-03-24T20:00:00.000Z'
        client_user_id:
          type:
            - string
            - 'null'
          maxLength: 256
          description: >-
            Customer-supplied identifier for the end user associated with this
            Foil session. Set with PATCH /v1/sessions/{sessionId}.
          example: user_123
        decision:
          $ref: '#/components/schemas/SessionDetailDecision'
          example:
            event_id: evt_srwqc0yqhz4bxvtrdtf69q7vkr
            automation_status: automated
            risk_score: 94
            evaluation_phase: snapshot
            decision_status: preliminary
            evaluated_at: '2026-03-24T20:00:05.000Z'
        highlights:
          type: array
          items:
            $ref: '#/components/schemas/SessionHighlight'
            example:
              key: browser_automation
              effect: increases_risk
              importance: high
              summary: Browser is being driven by automation
              evidence:
                - signal: webdriver_detected
                  name: Acme Growth Workspace
          example:
            - key: browser_automation
              effect: increases_risk
              importance: high
              summary: Browser is being driven by automation
              evidence:
                - signal: webdriver_detected
                  name: Acme Growth Workspace
        web_bot_auth:
          anyOf:
            - $ref: '#/components/schemas/SessionWebBotAuth'
              example:
                status: verified
                domain: browserless.io
            - type: 'null'
              example: null
          example:
            status: verified
            domain: browserless.io
        network:
          $ref: '#/components/schemas/SessionNetwork'
          example:
            ip_address: 203.0.113.10
            ip_version: ipv4
            status: ready
            summary: Browser is being driven by automation
            location:
              city: San Francisco
              region: California
              country: United States
              country_code: US
              latitude: 37.7749
              longitude: -122.4194
              timezone: America/Los_Angeles
              postal_code: '94103'
              accuracy_radius_km: 10
            routing:
              asn: '64512'
              organization: SPECTRANET LIMITED
            anonymity:
              vpn: true
              proxy: false
              tor: false
              relay: false
              hosting: false
              residential_proxy: false
              callback_proxy: false
              provider: Mullvad VPN
            reputation:
              listed: true
              categories:
                - vpn
              suspicious_network: false
            evidence:
              risk_signals:
                - vpn
              operator_tags:
                - vpn
              client_types:
                - consumer
              client_count: 1
            evaluated_at: '2026-03-24T20:00:05.000Z'
        runtime_integrity:
          $ref: '#/components/schemas/SessionRuntimeIntegrity'
          example:
            tampering: high_risk
            developer_tools: high_risk
            emulation: clean
            virtualization: high_risk
            privacy_hardening: notice
            identity_spoofing: clean
            replay: clean
            outdated_environment: clean
        native_runtime_integrity:
          anyOf:
            - $ref: '#/components/schemas/SessionNativeRuntimeIntegrity'
              example:
                platform: ios
                jailbreak_or_root:
                  detected: true
                  signals:
                    - webdriver_detected
                  present_paths:
                    - present_paths
                  dyld_insert_libraries:
                    - dyld_insert_libraries
                  verified_boot_state: verified_boot_state
                  magisk_mount_present: true
                  su_on_path: true
                hooks:
                  detected: true
                  frida_ports:
                    - 1.5
                  frida_thread_names:
                    - Acme Workspace
                  hooked_symbols:
                    - hooked_symbols
                  self_hooked_symbols:
                    - self_hooked_symbols
                  prologue_anomaly_count: 3
                  unexpected_dyld_images:
                    - string
                  xposed_packages:
                    - xposed_packages
                debugger:
                  attached: true
                  tracer_pid: 1.5
                  breakpoint_count: 3
                  watchpoint_thread_count: 3
                code_signing:
                  invalid: true
                  code_sign_valid: true
                  text_integrity_ok: true
                  application_debuggable: true
                  dyld_insert_libraries:
                    - dyld_insert_libraries
                simulator_or_emulator:
                  detected: true
                  is_ios_app_on_mac: true
                  qemu_files:
                    - qemu_files
                  ro_hardware: ro_hardware
                  ro_product_model: chrome
                  simulator_env_keys:
                    - FOIL_SAMPLE_KEY
                hardware_claims_mismatch:
                  detected: true
                  signals:
                    - webdriver_detected
                sim_posture:
                  detected: true
                  signals:
                    - webdriver_detected
                app_provenance:
                  detected: true
                  signals:
                    - webdriver_detected
                debug_posture:
                  detected: true
                  adb_enabled: true
                  developer_options_enabled: true
                  app_debuggable: true
                  app_profileable: true
                  app_test_only: true
                  debugger_attached: true
                  get_task_allow: true
                  embedded_provisioning_profile_present: true
                  receipt_is_sandbox: true
                  receipt_is_testflight: true
                  development_bundle: true
                  active_debugger_attached: true
                  breakpoint_count: 3
                  exception_port_count: 3
                  watchpoint_thread_count: 3
                  tracer_pid: 1.5
                  direct_syscall_tracer_pid: 1.5
                  risk_signals:
                    - vpn
            - type: 'null'
              example: null
          example:
            platform: ios
            jailbreak_or_root:
              detected: true
              signals:
                - webdriver_detected
              present_paths:
                - present_paths
              dyld_insert_libraries:
                - dyld_insert_libraries
              verified_boot_state: verified_boot_state
              magisk_mount_present: true
              su_on_path: true
            hooks:
              detected: true
              frida_ports:
                - 1.5
              frida_thread_names:
                - Acme Workspace
              hooked_symbols:
                - hooked_symbols
              self_hooked_symbols:
                - self_hooked_symbols
              prologue_anomaly_count: 3
              unexpected_dyld_images:
                - string
              xposed_packages:
                - xposed_packages
            debugger:
              attached: true
              tracer_pid: 1.5
              breakpoint_count: 3
              watchpoint_thread_count: 3
            code_signing:
              invalid: true
              code_sign_valid: true
              text_integrity_ok: true
              application_debuggable: true
              dyld_insert_libraries:
                - dyld_insert_libraries
            simulator_or_emulator:
              detected: true
              is_ios_app_on_mac: true
              qemu_files:
                - qemu_files
              ro_hardware: ro_hardware
              ro_product_model: chrome
              simulator_env_keys:
                - FOIL_SAMPLE_KEY
            hardware_claims_mismatch:
              detected: true
              signals:
                - webdriver_detected
            sim_posture:
              detected: true
              signals:
                - webdriver_detected
            app_provenance:
              detected: true
              signals:
                - webdriver_detected
            debug_posture:
              detected: true
              adb_enabled: true
              developer_options_enabled: true
              app_debuggable: true
              app_profileable: true
              app_test_only: true
              debugger_attached: true
              get_task_allow: true
              embedded_provisioning_profile_present: true
              receipt_is_sandbox: true
              receipt_is_testflight: true
              development_bundle: true
              active_debugger_attached: true
              breakpoint_count: 3
              exception_port_count: 3
              watchpoint_thread_count: 3
              tracer_pid: 1.5
              direct_syscall_tracer_pid: 1.5
              risk_signals:
                - vpn
        native_app:
          anyOf:
            - $ref: '#/components/schemas/SessionNativeApp'
              example:
                bundle_id: bundle_id
                app_version: 123.0.0.0
                app_build: app_build
                install_time_epoch_ms: 1.5
                provisioning_team: provisioning_team
            - type: 'null'
              example: null
          example:
            bundle_id: bundle_id
            app_version: 123.0.0.0
            app_build: app_build
            install_time_epoch_ms: 1.5
            provisioning_team: provisioning_team
        native_carrier:
          anyOf:
            - $ref: '#/components/schemas/SessionNativeCarrier'
              example:
                platform: ios
                carrier_name: Acme Workspace
                country_iso: United States
                mcc: mcc
                mnc: mnc
                phone_type: phone_type
                network_type: network_type
                radio_access:
                  - radio_access
            - type: 'null'
              example: null
          example:
            platform: ios
            carrier_name: Acme Workspace
            country_iso: United States
            mcc: mcc
            mnc: mnc
            phone_type: phone_type
            network_type: network_type
            radio_access:
              - radio_access
        native_motion_print:
          anyOf:
            - $ref: '#/components/schemas/SessionNativeMotionPrint'
              example:
                platform: ios
                sample_count: 3
                gyro:
                  bias:
                    - 1.5
                    - 2.5
                    - 3.5
                  noise:
                    - 1.5
                    - 2.5
                    - 3.5
                accel:
                  bias:
                    - 1.5
                    - 2.5
                    - 3.5
                  noise:
                    - 1.5
                    - 2.5
                    - 3.5
                mag:
                  bias:
                    - 1.5
                    - 2.5
                    - 3.5
                  noise:
                    - 1.5
                    - 2.5
                    - 3.5
            - type: 'null'
              example: null
          example:
            platform: ios
            sample_count: 3
            gyro:
              bias:
                - 1.5
                - 2.5
                - 3.5
              noise:
                - 1.5
                - 2.5
                - 3.5
            accel:
              bias:
                - 1.5
                - 2.5
                - 3.5
              noise:
                - 1.5
                - 2.5
                - 3.5
            mag:
              bias:
                - 1.5
                - 2.5
                - 3.5
              noise:
                - 1.5
                - 2.5
                - 3.5
        device_identity:
          anyOf:
            - $ref: '#/components/schemas/SessionDetailDeviceIdentity'
              example:
                object: device_identity
                id: sid_87wfetm98myh9awj0dpt28a3kc
                confidence: 93
                source: attested
                platform: ios
                identified_at: '2026-03-24T20:00:05.000Z'
                lifecycle:
                  first_seen_at: '2026-03-01T18:22:11.000Z'
                  last_seen_at: '2026-03-24T20:00:05.000Z'
                  seen_count: 14
                matched_anchors:
                  - matched_anchors
            - type: 'null'
              example: null
          example:
            object: device_identity
            id: sid_87wfetm98myh9awj0dpt28a3kc
            confidence: 93
            source: attested
            platform: ios
            identified_at: '2026-03-24T20:00:05.000Z'
            lifecycle:
              first_seen_at: '2026-03-01T18:22:11.000Z'
              last_seen_at: '2026-03-24T20:00:05.000Z'
              seen_count: 14
            matched_anchors:
              - matched_anchors
        install_id:
          type:
            - string
            - 'null'
          example: install_id
        visitor_fingerprint:
          anyOf:
            - $ref: '#/components/schemas/SessionDetailVisitorFingerprint'
              example:
                object: visitor_fingerprint
                id: vid_7cyvmdfjs3rzznf8m65v3bv51m
                confidence: 1
                identified_at: '2026-03-24T20:00:05.000Z'
                lifecycle:
                  first_seen_at: '2026-03-01T18:22:11.000Z'
                  last_seen_at: '2026-03-24T20:00:05.000Z'
                  seen_count: 1
            - type: 'null'
              example: null
          example:
            object: visitor_fingerprint
            id: vid_7cyvmdfjs3rzznf8m65v3bv51m
            confidence: 1
            identified_at: '2026-03-24T20:00:05.000Z'
            lifecycle:
              first_seen_at: '2026-03-01T18:22:11.000Z'
              last_seen_at: '2026-03-24T20:00:05.000Z'
              seen_count: 1
        connection_fingerprint:
          $ref: '#/components/schemas/SessionConnectionFingerprint'
          example:
            ja4:
              hash: t13d1516h2_0123456789ab_fedcba987654
              profile: chrome
              family: chromium
              product: chrome
              confidence: exact
              match_source: full_ja4
              deterministic: true
              reference:
                label: Chrome
                source: master_db
                protocol: t
                tls_version: '13'
                sni: d
                alpn: h2
                cipher_count:
                  min: 15
                  max: 16
                ext_count:
                  min: 15
                  max: 16
                sample_size: 63
                verified: true
            http2:
              akamai_fingerprint: 1:65536;4:131072;5:16384|12517377|0|m,p,a,s
              profile: chrome
            user_agent_alignment: match
        previous_decisions:
          type: array
          items:
            $ref: '#/components/schemas/SessionDetailDecision'
            example:
              event_id: evt_srwqc0yqhz4bxvtrdtf69q7vkr
              automation_status: automated
              risk_score: 94
              evaluation_phase: snapshot
              decision_status: preliminary
              evaluated_at: '2026-03-24T20:00:05.000Z'
          example:
            - event_id: evt_srwqc0yqhz4bxvtrdtf69q7vkr
              automation_status: automated
              risk_score: 94
              evaluation_phase: snapshot
              decision_status: preliminary
              evaluated_at: '2026-03-24T20:00:05.000Z'
        request:
          $ref: '#/components/schemas/SessionDetailRequest'
          example:
            url: https://app.acme.co/signup
            referrer: https://app.acme.co/
            user_agent: >-
              Mozilla/5.0 (Macintosh; Intel Mac OS X 14_4) AppleWebKit/537.36
              (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36
        browser:
          $ref: '#/components/schemas/SessionBrowser'
          example:
            name: Chromium
            version: 123.0.0.0
            major_version: '123'
            engine: blink
        device:
          $ref: '#/components/schemas/SessionDevice'
          example:
            form_factor: desktop
            operating_system:
              name: macOS
              version: 123.0.0.0
            architecture: arm
            screen:
              size: 1440x900
              color_depth: 1
              pixel_ratio: 1.5
              orientation_type: landscape-primary
            locale:
              timezone: America/Los_Angeles
              primary_language: en-US
              languages:
                - en-US
                - en
            capabilities:
              touch:
                available: true
                max_touch_points: 1
              storage:
                cookies: true
                local_storage: true
                indexed_db: true
                service_worker: true
                window_name: true
              webgpu:
                available: true
              platform_authenticator:
                available: true
                conditional_mediation: true
              media_devices:
                available: true
              speech_synthesis:
                available: true
        analysis_coverage:
          $ref: '#/components/schemas/SessionAnalysisCoverage'
          example:
            browser: true
            device: true
            network: true
            runtime: true
            behavioral: true
            visitor_identity: true
        signals_fired:
          type: array
          items:
            $ref: '#/components/schemas/SessionSignalFired'
            example:
              signal: webdriver_detected
              role: owner
              category: environment
              strength: definitive
              signal_score: 100
          example:
            - signal: webdriver_detected
              role: owner
              category: environment
              strength: definitive
              signal_score: 100
        client_telemetry:
          $ref: '#/components/schemas/SessionClientTelemetry'
          example:
            navigator:
              platform: macOS
              vendor: Google Inc.
              hardware_concurrency: 8
              device_memory: 8
              max_touch_points: 0
              pdf_viewer_enabled: true
              cookie_enabled: true
              product_sub: '20030107'
              primary_language: en-US
              languages:
                - en-US
                - en
              mime_types_count: 3
              plugins:
                - PDF Viewer
            storage:
              cookies: true
              local_storage: true
              session_storage: true
              indexed_db: true
              service_worker: true
              window_name: true
            canvas:
              hash: 1234567890
              geometry_hash: 1234567890
              text_hash: 1234567890
              winding: true
              noise_detected: true
              offscreen_consistent: true
            graphics:
              webgl:
                vendor: Google Inc.
                renderer: >-
                  ANGLE (Apple, ANGLE Metal Renderer: Apple M2, Unspecified
                  Version)
                version: WebGL 1.0
                shading_language_version: WebGL GLSL ES 1.0
                parameters_hash: '01234567'
                extensions_hash: 1234567890
                extension_parameters_hash: '01234567'
                shader_precision_hash: 1234567890
              webgpu:
                available: true
                adapter_vendor: Google Inc.
                adapter_architecture: arm
                fallback_adapter: true
                features_hash: 1234567890
                limits_hash: 1234567890
            audio:
              hash: 1.23456e-7
              sample_rate: 1.5
              channel_count: 3
              voice_count: 22
              local_voice_count: 20
              default_voice_lang: en-US
              noise_detected: true
            fonts:
              detected_count: 3
              tested_count: 3
              enumeration_hash: 1234567890
              metrics_hash: 1234567890
              preferences_hash: 1234567890
              emoji_hash: 1234567890
            media:
              device_count: 3
              counts_by_kind:
                audioinput: 1
                audiooutput: 1
                videoinput: 1
              blank_label_count: 3
              topology_hash: 1234567890
        attribution:
          anyOf:
            - $ref: '#/components/schemas/SessionAttribution'
              example:
                labels:
                  - kind: actor
                    value: automation
                    label: Automation
                    confidence: 98
                  - kind: tool
                    value: selenium
                    label: Selenium
                    confidence: 88
                behaviors:
                  - channel: typing
                    value: synthetic-typing
                    label: Synthetic Typing
                    confidence: 86
            - type: 'null'
              example: null
          example:
            labels:
              - kind: actor
                value: automation
                label: Automation
                confidence: 98
              - kind: tool
                value: selenium
                label: Selenium
                confidence: 88
            behaviors:
              - channel: typing
                value: synthetic-typing
                label: Synthetic Typing
                confidence: 86
      example:
        object: session
        id: sid_87wfetm98myh9awj0dpt28a3kc
        created_at: '2026-03-24T20:00:00.000Z'
        client_user_id: user_123
        decision:
          event_id: evt_srwqc0yqhz4bxvtrdtf69q7vkr
          automation_status: automated
          risk_score: 94
          evaluation_phase: snapshot
          decision_status: preliminary
          evaluated_at: '2026-03-24T20:00:05.000Z'
        highlights:
          - key: browser_automation
            effect: increases_risk
            importance: high
            summary: Browser is being driven by automation
            evidence:
              - signal: webdriver_detected
                name: Acme Growth Workspace
        web_bot_auth:
          status: verified
          domain: browserless.io
        network:
          ip_address: 203.0.113.10
          ip_version: ipv4
          status: ready
          summary: Browser is being driven by automation
          location:
            city: San Francisco
            region: California
            country: United States
            country_code: US
            latitude: 37.7749
            longitude: -122.4194
            timezone: America/Los_Angeles
            postal_code: '94103'
            accuracy_radius_km: 10
          routing:
            asn: '64512'
            organization: SPECTRANET LIMITED
          anonymity:
            vpn: true
            proxy: false
            tor: false
            relay: false
            hosting: false
            residential_proxy: false
            callback_proxy: false
            provider: Mullvad VPN
          reputation:
            listed: true
            categories:
              - vpn
            suspicious_network: false
          evidence:
            risk_signals:
              - vpn
            operator_tags:
              - vpn
            client_types:
              - consumer
            client_count: 1
          evaluated_at: '2026-03-24T20:00:05.000Z'
        runtime_integrity:
          tampering: high_risk
          developer_tools: high_risk
          emulation: clean
          virtualization: high_risk
          privacy_hardening: notice
          identity_spoofing: clean
          replay: clean
          outdated_environment: clean
        native_runtime_integrity:
          platform: ios
          jailbreak_or_root:
            detected: true
            signals:
              - webdriver_detected
            present_paths:
              - present_paths
            dyld_insert_libraries:
              - dyld_insert_libraries
            verified_boot_state: verified_boot_state
            magisk_mount_present: true
            su_on_path: true
          hooks:
            detected: true
            frida_ports:
              - 1.5
            frida_thread_names:
              - Acme Workspace
            hooked_symbols:
              - hooked_symbols
            self_hooked_symbols:
              - self_hooked_symbols
            prologue_anomaly_count: 3
            unexpected_dyld_images:
              - string
            xposed_packages:
              - xposed_packages
          debugger:
            attached: true
            tracer_pid: 1.5
            breakpoint_count: 3
            watchpoint_thread_count: 3
          code_signing:
            invalid: true
            code_sign_valid: true
            text_integrity_ok: true
            application_debuggable: true
            dyld_insert_libraries:
              - dyld_insert_libraries
          simulator_or_emulator:
            detected: true
            is_ios_app_on_mac: true
            qemu_files:
              - qemu_files
            ro_hardware: ro_hardware
            ro_product_model: chrome
            simulator_env_keys:
              - FOIL_SAMPLE_KEY
          hardware_claims_mismatch:
            detected: true
            signals:
              - webdriver_detected
          sim_posture:
            detected: true
            signals:
              - webdriver_detected
          app_provenance:
            detected: true
            signals:
              - webdriver_detected
          debug_posture:
            detected: true
            adb_enabled: true
            developer_options_enabled: true
            app_debuggable: true
            app_profileable: true
            app_test_only: true
            debugger_attached: true
            get_task_allow: true
            embedded_provisioning_profile_present: true
            receipt_is_sandbox: true
            receipt_is_testflight: true
            development_bundle: true
            active_debugger_attached: true
            breakpoint_count: 3
            exception_port_count: 3
            watchpoint_thread_count: 3
            tracer_pid: 1.5
            direct_syscall_tracer_pid: 1.5
            risk_signals:
              - vpn
        native_app:
          bundle_id: bundle_id
          app_version: 123.0.0.0
          app_build: app_build
          install_time_epoch_ms: 1.5
          provisioning_team: provisioning_team
        native_carrier:
          platform: ios
          carrier_name: Acme Workspace
          country_iso: United States
          mcc: mcc
          mnc: mnc
          phone_type: phone_type
          network_type: network_type
          radio_access:
            - radio_access
        native_motion_print:
          platform: ios
          sample_count: 3
          gyro:
            bias:
              - 1.5
              - 2.5
              - 3.5
            noise:
              - 1.5
              - 2.5
              - 3.5
          accel:
            bias:
              - 1.5
              - 2.5
              - 3.5
            noise:
              - 1.5
              - 2.5
              - 3.5
          mag:
            bias:
              - 1.5
              - 2.5
              - 3.5
            noise:
              - 1.5
              - 2.5
              - 3.5
        device_identity:
          object: device_identity
          id: sid_87wfetm98myh9awj0dpt28a3kc
          confidence: 93
          source: attested
          platform: ios
          identified_at: '2026-03-24T20:00:05.000Z'
          lifecycle:
            first_seen_at: '2026-03-01T18:22:11.000Z'
            last_seen_at: '2026-03-24T20:00:05.000Z'
            seen_count: 14
          matched_anchors:
            - matched_anchors
        install_id: install_id
        visitor_fingerprint:
          object: visitor_fingerprint
          id: vid_7cyvmdfjs3rzznf8m65v3bv51m
          confidence: 1
          identified_at: '2026-03-24T20:00:05.000Z'
          lifecycle:
            first_seen_at: '2026-03-01T18:22:11.000Z'
            last_seen_at: '2026-03-24T20:00:05.000Z'
            seen_count: 1
        connection_fingerprint:
          ja4:
            hash: t13d1516h2_0123456789ab_fedcba987654
            profile: chrome
            family: chromium
            product: chrome
            confidence: exact
            match_source: full_ja4
            deterministic: true
            reference:
              label: Chrome
              source: master_db
              protocol: t
              tls_version: '13'
              sni: d
              alpn: h2
              cipher_count:
                min: 15
                max: 16
              ext_count:
                min: 15
                max: 16
              sample_size: 63
              verified: true
          http2:
            akamai_fingerprint: 1:65536;4:131072;5:16384|12517377|0|m,p,a,s
            profile: chrome
          user_agent_alignment: match
        previous_decisions:
          - event_id: evt_srwqc0yqhz4bxvtrdtf69q7vkr
            automation_status: automated
            risk_score: 94
            evaluation_phase: snapshot
            decision_status: preliminary
            evaluated_at: '2026-03-24T20:00:05.000Z'
        request:
          url: https://app.acme.co/signup
          referrer: https://app.acme.co/
          user_agent: >-
            Mozilla/5.0 (Macintosh; Intel Mac OS X 14_4) AppleWebKit/537.36
            (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36
        browser:
          name: Chromium
          version: 123.0.0.0
          major_version: '123'
          engine: blink
        device:
          form_factor: desktop
          operating_system:
            name: macOS
            version: 123.0.0.0
          architecture: arm
          screen:
            size: 1440x900
            color_depth: 1
            pixel_ratio: 1.5
            orientation_type: landscape-primary
          locale:
            timezone: America/Los_Angeles
            primary_language: en-US
            languages:
              - en-US
              - en
          capabilities:
            touch:
              available: true
              max_touch_points: 1
            storage:
              cookies: true
              local_storage: true
              indexed_db: true
              service_worker: true
              window_name: true
            webgpu:
              available: true
            platform_authenticator:
              available: true
              conditional_mediation: true
            media_devices:
              available: true
            speech_synthesis:
              available: true
        analysis_coverage:
          browser: true
          device: true
          network: true
          runtime: true
          behavioral: true
          visitor_identity: true
        signals_fired:
          - signal: webdriver_detected
            role: owner
            category: environment
            strength: definitive
            signal_score: 100
        client_telemetry:
          navigator:
            platform: macOS
            vendor: Google Inc.
            hardware_concurrency: 8
            device_memory: 8
            max_touch_points: 0
            pdf_viewer_enabled: true
            cookie_enabled: true
            product_sub: '20030107'
            primary_language: en-US
            languages:
              - en-US
              - en
            mime_types_count: 3
            plugins:
              - PDF Viewer
          storage:
            cookies: true
            local_storage: true
            session_storage: true
            indexed_db: true
            service_worker: true
            window_name: true
          canvas:
            hash: 1234567890
            geometry_hash: 1234567890
            text_hash: 1234567890
            winding: true
            noise_detected: true
            offscreen_consistent: true
          graphics:
            webgl:
              vendor: Google Inc.
              renderer: >-
                ANGLE (Apple, ANGLE Metal Renderer: Apple M2, Unspecified
                Version)
              version: WebGL 1.0
              shading_language_version: WebGL GLSL ES 1.0
              parameters_hash: '01234567'
              extensions_hash: 1234567890
              extension_parameters_hash: '01234567'
              shader_precision_hash: 1234567890
            webgpu:
              available: true
              adapter_vendor: Google Inc.
              adapter_architecture: arm
              fallback_adapter: true
              features_hash: 1234567890
              limits_hash: 1234567890
          audio:
            hash: 1.23456e-7
            sample_rate: 1.5
            channel_count: 3
            voice_count: 22
            local_voice_count: 20
            default_voice_lang: en-US
            noise_detected: true
          fonts:
            detected_count: 3
            tested_count: 3
            enumeration_hash: 1234567890
            metrics_hash: 1234567890
            preferences_hash: 1234567890
            emoji_hash: 1234567890
          media:
            device_count: 3
            counts_by_kind:
              audioinput: 1
              audiooutput: 1
              videoinput: 1
            blank_label_count: 3
            topology_hash: 1234567890
        attribution:
          labels:
            - kind: actor
              value: automation
              label: Automation
              confidence: 98
            - kind: tool
              value: selenium
              label: Selenium
              confidence: 88
          behaviors:
            - channel: typing
              value: synthetic-typing
              label: Synthetic Typing
              confidence: 86
    ResponseMeta:
      type: object
      additionalProperties: false
      required:
        - request_id
      properties:
        request_id:
          $ref: '#/components/schemas/RequestId'
          example: req_cf147349a4134208aebb8c70e25fb7e1
      example:
        request_id: req_cf147349a4134208aebb8c70e25fb7e1
    PublicError:
      type: object
      additionalProperties: false
      required:
        - code
        - message
        - status
        - retryable
        - request_id
      properties:
        code:
          type: string
          x-foil-known-values-ref: '#/components/schemas/KnownPublicErrorCode'
          example: request.validation_failed
        message:
          type: string
          example: Observation payload failed validation.
        status:
          type: integer
          example: 1
        retryable:
          type: boolean
          example: true
        request_id:
          $ref: '#/components/schemas/RequestId'
          example: req_cf147349a4134208aebb8c70e25fb7e1
        docs_url:
          type: string
          format: uri
          example: https://app.acme.co/signup
        details:
          $ref: '#/components/schemas/ApiErrorDetails'
          example:
            fields:
              - name: Acme Growth Workspace
                issue: required
                expected: string
                received: any_of
            allowed_values:
              - verified
            header_name: x-forwarded-for
            parameter_set: browser_fingerprint
            next_action: retry
      example:
        code: request.validation_failed
        message: Observation payload failed validation.
        status: 1
        retryable: true
        request_id: req_cf147349a4134208aebb8c70e25fb7e1
        docs_url: https://app.acme.co/signup
        details:
          fields:
            - name: Acme Growth Workspace
              issue: required
              expected: string
              received: any_of
          allowed_values:
            - verified
          header_name: x-forwarded-for
          parameter_set: browser_fingerprint
          next_action: retry
    SessionDetailDecision:
      type: object
      additionalProperties: false
      required:
        - event_id
        - automation_status
        - risk_score
        - evaluation_phase
        - decision_status
        - evaluated_at
      properties:
        event_id:
          $ref: '#/components/schemas/EventId'
          example: evt_srwqc0yqhz4bxvtrdtf69q7vkr
        automation_status:
          type: string
          enum:
            - automated
            - human
            - uncertain
          example: automated
        risk_score:
          type: integer
          minimum: 0
          maximum: 100
          example: 94
        evaluation_phase:
          anyOf:
            - $ref: '#/components/schemas/Phase'
              example: snapshot
            - type: 'null'
              example: null
          example: snapshot
        decision_status:
          type: string
          enum:
            - preliminary
            - final
          example: preliminary
        evaluated_at:
          type: string
          format: date-time
          example: '2026-03-24T20:00:05.000Z'
      example:
        event_id: evt_srwqc0yqhz4bxvtrdtf69q7vkr
        automation_status: automated
        risk_score: 94
        evaluation_phase: snapshot
        decision_status: preliminary
        evaluated_at: '2026-03-24T20:00:05.000Z'
    SessionHighlight:
      type: object
      additionalProperties: false
      required:
        - key
        - effect
        - importance
        - summary
      properties:
        key:
          type: string
          example: browser_automation
        effect:
          type: string
          enum:
            - increases_risk
            - reduces_risk
            - context
          example: increases_risk
        importance:
          type: string
          enum:
            - high
            - medium
            - low
          example: high
        summary:
          type: string
          example: Browser is being driven by automation
        evidence:
          type: array
          items:
            $ref: '#/components/schemas/SessionHighlightEvidence'
            example:
              signal: webdriver_detected
              name: Acme Growth Workspace
          example:
            - signal: webdriver_detected
              name: Acme Growth Workspace
      example:
        key: browser_automation
        effect: increases_risk
        importance: high
        summary: Browser is being driven by automation
        evidence:
          - signal: webdriver_detected
            name: Acme Growth Workspace
    SessionWebBotAuth:
      type: object
      additionalProperties: false
      required:
        - status
        - domain
      properties:
        status:
          type:
            - string
            - 'null'
          example: verified
        domain:
          type:
            - string
            - 'null'
          example: browserless.io
      example:
        status: verified
        domain: browserless.io
    SessionNetwork:
      type: object
      additionalProperties: false
      required:
        - ip_address
        - ip_version
        - status
        - summary
        - location
        - routing
        - anonymity
        - reputation
        - evidence
        - evaluated_at
      properties:
        ip_address:
          type:
            - string
            - 'null'
          example: 203.0.113.10
        ip_version:
          anyOf:
            - type: string
              enum:
                - ipv4
                - ipv6
              example: ipv4
            - type: 'null'
              example: null
          example: ipv4
        status:
          type: string
          enum:
            - pending
            - ready
            - skipped
            - error
          example: ready
        summary:
          type:
            - string
            - 'null'
          example: Browser is being driven by automation
        location:
          anyOf:
            - $ref: '#/components/schemas/SessionNetworkLocation'
              example:
                city: San Francisco
                region: California
                country: United States
                country_code: US
                latitude: 37.7749
                longitude: -122.4194
                timezone: America/Los_Angeles
                postal_code: '94103'
                accuracy_radius_km: 10
            - type: 'null'
              example: null
          example:
            city: San Francisco
            region: California
            country: United States
            country_code: US
            latitude: 37.7749
            longitude: -122.4194
            timezone: America/Los_Angeles
            postal_code: '94103'
            accuracy_radius_km: 10
        routing:
          type: object
          additionalProperties: false
          required:
            - asn
            - organization
          properties:
            asn:
              type:
                - string
                - 'null'
              example: '64512'
            organization:
              type:
                - string
                - 'null'
              example: SPECTRANET LIMITED
          example:
            asn: '64512'
            organization: SPECTRANET LIMITED
        anonymity:
          type: object
          additionalProperties: false
          required:
            - vpn
            - proxy
            - tor
            - relay
            - hosting
            - residential_proxy
            - callback_proxy
            - provider
          properties:
            vpn:
              type: boolean
              example: true
            proxy:
              type: boolean
              example: false
            tor:
              type: boolean
              example: false
            relay:
              type: boolean
              example: false
            hosting:
              type: boolean
              example: false
            residential_proxy:
              type: boolean
              example: false
            callback_proxy:
              type: boolean
              example: false
            provider:
              type:
                - string
                - 'null'
              example: Mullvad VPN
          example:
            vpn: true
            proxy: false
            tor: false
            relay: false
            hosting: false
            residential_proxy: false
            callback_proxy: false
            provider: Mullvad VPN
        reputation:
          type: object
          additionalProperties: false
          required:
            - listed
            - categories
            - suspicious_network
          properties:
            listed:
              type: boolean
              example: true
            categories:
              type: array
              items:
                type: string
                example: categories
              example:
                - vpn
            suspicious_network:
              type: boolean
              example: false
          example:
            listed: true
            categories:
              - vpn
            suspicious_network: false
        evidence:
          type: object
          additionalProperties: false
          required:
            - risk_signals
            - operator_tags
            - client_types
            - client_count
          properties:
            risk_signals:
              type: array
              items:
                type: string
                example: vpn
              example:
                - vpn
            operator_tags:
              type: array
              items:
                type: string
                example: vpn
              example:
                - vpn
            client_types:
              type: array
              items:
                type: string
                example: consumer
              example:
                - consumer
            client_count:
              anyOf:
                - type: integer
                  minimum: 0
                  example: 1
                - type: 'null'
                  example: null
              example: 1
          example:
            risk_signals:
              - vpn
            operator_tags:
              - vpn
            client_types:
              - consumer
            client_count: 1
        evaluated_at:
          type:
            - string
            - 'null'
          format: date-time
          example: '2026-03-24T20:00:05.000Z'
      example:
        ip_address: 203.0.113.10
        ip_version: ipv4
        status: ready
        summary: Browser is being driven by automation
        location:
          city: San Francisco
          region: California
          country: United States
          country_code: US
          latitude: 37.7749
          longitude: -122.4194
          timezone: America/Los_Angeles
          postal_code: '94103'
          accuracy_radius_km: 10
        routing:
          asn: '64512'
          organization: SPECTRANET LIMITED
        anonymity:
          vpn: true
          proxy: false
          tor: false
          relay: false
          hosting: false
          residential_proxy: false
          callback_proxy: false
          provider: Mullvad VPN
        reputation:
          listed: true
          categories:
            - vpn
          suspicious_network: false
        evidence:
          risk_signals:
            - vpn
          operator_tags:
            - vpn
          client_types:
            - consumer
          client_count: 1
        evaluated_at: '2026-03-24T20:00:05.000Z'
    SessionRuntimeIntegrity:
      type: object
      additionalProperties: false
      required:
        - tampering
        - developer_tools
        - emulation
        - virtualization
        - privacy_hardening
        - identity_spoofing
        - replay
        - outdated_environment
      properties:
        tampering:
          type: string
          enum:
            - clean
            - notice
            - elevated
            - high_risk
          example: high_risk
        developer_tools:
          type: string
          enum:
            - clean
            - notice
            - elevated
            - high_risk
          example: high_risk
        emulation:
          type: string
          enum:
            - clean
            - notice
            - elevated
            - high_risk
          example: clean
        virtualization:
          type: string
          enum:
            - clean
            - notice
            - elevated
            - high_risk
          example: high_risk
        privacy_hardening:
          type: string
          enum:
            - clean
            - notice
            - elevated
            - high_risk
          example: notice
        identity_spoofing:
          type: string
          enum:
            - clean
            - notice
            - elevated
            - high_risk
          example: clean
        replay:
          type: string
          enum:
            - clean
            - notice
            - elevated
            - high_risk
          example: clean
        outdated_environment:
          type: string
          enum:
            - clean
            - notice
            - elevated
            - high_risk
          example: clean
      example:
        tampering: high_risk
        developer_tools: high_risk
        emulation: clean
        virtualization: high_risk
        privacy_hardening: notice
        identity_spoofing: clean
        replay: clean
        outdated_environment: clean
    SessionNativeRuntimeIntegrity:
      type: object
      additionalProperties: false
      required:
        - platform
        - jailbreak_or_root
        - hooks
        - debugger
        - code_signing
        - debug_posture
        - simulator_or_emulator
        - hardware_claims_mismatch
        - sim_posture
        - app_provenance
      properties:
        platform:
          type: string
          enum:
            - ios
            - android
          example: ios
        jailbreak_or_root:
          $ref: '#/components/schemas/SessionNativeJailbreakOrRoot'
          example:
            detected: true
            signals:
              - webdriver_detected
            present_paths:
              - present_paths
            dyld_insert_libraries:
              - dyld_insert_libraries
            verified_boot_state: verified_boot_state
            magisk_mount_present: true
            su_on_path: true
        hooks:
          $ref: '#/components/schemas/SessionNativeHooks'
          example:
            detected: true
            frida_ports:
              - 1.5
            frida_thread_names:
              - Acme Workspace
            hooked_symbols:
              - hooked_symbols
            self_hooked_symbols:
              - self_hooked_symbols
            prologue_anomaly_count: 3
            unexpected_dyld_images:
              - string
            xposed_packages:
              - xposed_packages
        debugger:
          $ref: '#/components/schemas/SessionNativeDebugger'
          example:
            attached: true
            tracer_pid: 1.5
            breakpoint_count: 3
            watchpoint_thread_count: 3
        code_signing:
          $ref: '#/components/schemas/SessionNativeCodeSigning'
          example:
            invalid: true
            code_sign_valid: true
            text_integrity_ok: true
            application_debuggable: true
            dyld_insert_libraries:
              - dyld_insert_libraries
        simulator_or_emulator:
          $ref: '#/components/schemas/SessionNativeSimulatorOrEmulator'
          example:
            detected: true
            is_ios_app_on_mac: true
            qemu_files:
              - qemu_files
            ro_hardware: ro_hardware
            ro_product_model: chrome
            simulator_env_keys:
              - FOIL_SAMPLE_KEY
        hardware_claims_mismatch:
          $ref: '#/components/schemas/SessionNativeHardwareClaimsMismatch'
          example:
            detected: true
            signals:
              - webdriver_detected
        sim_posture:
          $ref: '#/components/schemas/SessionNativeSimPosture'
          example:
            detected: true
            signals:
              - webdriver_detected
        app_provenance:
          $ref: '#/components/schemas/SessionNativeAppProvenance'
          example:
            detected: true
            signals:
              - webdriver_detected
        debug_posture:
          $ref: '#/components/schemas/SessionNativeDebugPosture'
          example:
            detected: true
            adb_enabled: true
            developer_options_enabled: true
            app_debuggable: true
            app_profileable: true
            app_test_only: true
            debugger_attached: true
            get_task_allow: true
            embedded_provisioning_profile_present: true
            receipt_is_sandbox: true
            receipt_is_testflight: true
            development_bundle: true
            active_debugger_attached: true
            breakpoint_count: 3
            exception_port_count: 3
            watchpoint_thread_count: 3
            tracer_pid: 1.5
            direct_syscall_tracer_pid: 1.5
            risk_signals:
              - vpn
      example:
        platform: ios
        jailbreak_or_root:
          detected: true
          signals:
            - webdriver_detected
          present_paths:
            - present_paths
          dyld_insert_libraries:
            - dyld_insert_libraries
          verified_boot_state: verified_boot_state
          magisk_mount_present: true
          su_on_path: true
        hooks:
          detected: true
          frida_ports:
            - 1.5
          frida_thread_names:
            - Acme Workspace
          hooked_symbols:
            - hooked_symbols
          self_hooked_symbols:
            - self_hooked_symbols
          prologue_anomaly_count: 3
          unexpected_dyld_images:
            - string
          xposed_packages:
            - xposed_packages
        debugger:
          attached: true
          tracer_pid: 1.5
          breakpoint_count: 3
          watchpoint_thread_count: 3
        code_signing:
          invalid: true
          code_sign_valid: true
          text_integrity_ok: true
          application_debuggable: true
          dyld_insert_libraries:
            - dyld_insert_libraries
        simulator_or_emulator:
          detected: true
          is_ios_app_on_mac: true
          qemu_files:
            - qemu_files
          ro_hardware: ro_hardware
          ro_product_model: chrome
          simulator_env_keys:
            - FOIL_SAMPLE_KEY
        hardware_claims_mismatch:
          detected: true
          signals:
            - webdriver_detected
        sim_posture:
          detected: true
          signals:
            - webdriver_detected
        app_provenance:
          detected: true
          signals:
            - webdriver_detected
        debug_posture:
          detected: true
          adb_enabled: true
          developer_options_enabled: true
          app_debuggable: true
          app_profileable: true
          app_test_only: true
          debugger_attached: true
          get_task_allow: true
          embedded_provisioning_profile_present: true
          receipt_is_sandbox: true
          receipt_is_testflight: true
          development_bundle: true
          active_debugger_attached: true
          breakpoint_count: 3
          exception_port_count: 3
          watchpoint_thread_count: 3
          tracer_pid: 1.5
          direct_syscall_tracer_pid: 1.5
          risk_signals:
            - vpn
    SessionNativeApp:
      type: object
      additionalProperties: false
      required:
        - bundle_id
        - app_version
        - app_build
        - install_time_epoch_ms
        - provisioning_team
      properties:
        bundle_id:
          type: string
          example: bundle_id
        app_version:
          type:
            - string
            - 'null'
          example: 123.0.0.0
        app_build:
          type:
            - string
            - 'null'
          example: app_build
        install_time_epoch_ms:
          type:
            - number
            - 'null'
          example: 1.5
        provisioning_team:
          type:
            - string
            - 'null'
          example: provisioning_team
      example:
        bundle_id: bundle_id
        app_version: 123.0.0.0
        app_build: app_build
        install_time_epoch_ms: 1.5
        provisioning_team: provisioning_team
    SessionNativeCarrier:
      type: object
      additionalProperties: false
      required:
        - platform
        - carrier_name
        - country_iso
        - mcc
        - mnc
        - phone_type
        - network_type
        - radio_access
      properties:
        platform:
          type: string
          enum:
            - ios
            - android
          example: ios
        carrier_name:
          type:
            - string
            - 'null'
          example: Acme Workspace
        country_iso:
          type:
            - string
            - 'null'
          example: United States
        mcc:
          type:
            - string
            - 'null'
          example: mcc
        mnc:
          type:
            - string
            - 'null'
          example: mnc
        phone_type:
          type:
            - string
            - 'null'
          example: phone_type
        network_type:
          type:
            - string
            - 'null'
          example: network_type
        radio_access:
          type: array
          items:
            type: string
            example: radio_access
          example:
            - radio_access
      example:
        platform: ios
        carrier_name: Acme Workspace
        country_iso: United States
        mcc: mcc
        mnc: mnc
        phone_type: phone_type
        network_type: network_type
        radio_access:
          - radio_access
    SessionNativeMotionPrint:
      type: object
      additionalProperties: false
      required:
        - platform
        - sample_count
        - gyro
        - accel
        - mag
      properties:
        platform:
          type: string
          enum:
            - ios
            - android
          example: ios
        sample_count:
          type: number
          example: 3
        gyro:
          $ref: '#/components/schemas/SessionNativeMotionAxes'
          example:
            bias:
              - 1.5
              - 2.5
              - 3.5
            noise:
              - 1.5
              - 2.5
              - 3.5
        accel:
          $ref: '#/components/schemas/SessionNativeMotionAxes'
          example:
            bias:
              - 1.5
              - 2.5
              - 3.5
            noise:
              - 1.5
              - 2.5
              - 3.5
        mag:
          anyOf:
            - $ref: '#/components/schemas/SessionNativeMotionAxes'
              example:
                bias:
                  - 1.5
                  - 2.5
                  - 3.5
                noise:
                  - 1.5
                  - 2.5
                  - 3.5
            - type: 'null'
              example: null
          example:
            bias:
              - 1.5
              - 2.5
              - 3.5
            noise:
              - 1.5
              - 2.5
              - 3.5
      example:
        platform: ios
        sample_count: 3
        gyro:
          bias:
            - 1.5
            - 2.5
            - 3.5
          noise:
            - 1.5
            - 2.5
            - 3.5
        accel:
          bias:
            - 1.5
            - 2.5
            - 3.5
          noise:
            - 1.5
            - 2.5
            - 3.5
        mag:
          bias:
            - 1.5
            - 2.5
            - 3.5
          noise:
            - 1.5
            - 2.5
            - 3.5
    SessionDetailDeviceIdentity:
      type: object
      additionalProperties: false
      required:
        - object
        - id
        - confidence
        - source
        - platform
        - identified_at
        - lifecycle
        - matched_anchors
      properties:
        object:
          const: device_identity
          example: device_identity
        id:
          type: string
          example: sid_87wfetm98myh9awj0dpt28a3kc
        confidence:
          type: number
          example: 93
        source:
          type: string
          enum:
            - attested
            - anchored
            - inferred
            - new
          example: attested
        platform:
          type: string
          enum:
            - ios
            - android
          example: ios
        identified_at:
          type: string
          format: date-time
          example: '2026-03-24T20:00:05.000Z'
        lifecycle:
          type: object
          additionalProperties: false
          required:
            - first_seen_at
            - last_seen_at
            - seen_count
          properties:
            first_seen_at:
              type: string
              format: date-time
              example: '2026-03-01T18:22:11.000Z'
            last_seen_at:
              type: string
              format: date-time
              example: '2026-03-24T20:00:05.000Z'
            seen_count:
              type: number
              example: 14
          example:
            first_seen_at: '2026-03-01T18:22:11.000Z'
            last_seen_at: '2026-03-24T20:00:05.000Z'
            seen_count: 14
        matched_anchors:
          type: array
          items:
            type: string
            example: matched_anchors
          example:
            - matched_anchors
      example:
        object: device_identity
        id: sid_87wfetm98myh9awj0dpt28a3kc
        confidence: 93
        source: attested
        platform: ios
        identified_at: '2026-03-24T20:00:05.000Z'
        lifecycle:
          first_seen_at: '2026-03-01T18:22:11.000Z'
          last_seen_at: '2026-03-24T20:00:05.000Z'
          seen_count: 14
        matched_anchors:
          - matched_anchors
    SessionDetailVisitorFingerprint:
      type: object
      additionalProperties: false
      required:
        - object
        - id
        - confidence
        - identified_at
        - lifecycle
      properties:
        object:
          const: visitor_fingerprint
          example: visitor_fingerprint
        id:
          $ref: '#/components/schemas/FingerprintId'
          example: vid_7cyvmdfjs3rzznf8m65v3bv51m
        confidence:
          anyOf:
            - type: integer
              minimum: 0
              maximum: 100
              example: 1
            - type: 'null'
              example: null
          example: 1
        identified_at:
          type:
            - string
            - 'null'
          format: date-time
          example: '2026-03-24T20:00:05.000Z'
        lifecycle:
          $ref: '#/components/schemas/SessionDetailVisitorFingerprintLifecycle'
          example:
            first_seen_at: '2026-03-01T18:22:11.000Z'
            last_seen_at: '2026-03-24T20:00:05.000Z'
            seen_count: 1
      example:
        object: visitor_fingerprint
        id: vid_7cyvmdfjs3rzznf8m65v3bv51m
        confidence: 1
        identified_at: '2026-03-24T20:00:05.000Z'
        lifecycle:
          first_seen_at: '2026-03-01T18:22:11.000Z'
          last_seen_at: '2026-03-24T20:00:05.000Z'
          seen_count: 1
    SessionConnectionFingerprint:
      type: object
      additionalProperties: false
      required:
        - ja4
        - http2
        - user_agent_alignment
      properties:
        ja4:
          type: object
          additionalProperties: false
          required:
            - hash
            - profile
            - family
            - product
            - confidence
            - match_source
            - reference
            - deterministic
          properties:
            hash:
              type:
                - string
                - 'null'
              example: t13d1516h2_0123456789ab_fedcba987654
            profile:
              type:
                - string
                - 'null'
              example: chrome
            family:
              type:
                - string
                - 'null'
              example: chromium
            product:
              type:
                - string
                - 'null'
              example: chrome
            confidence:
              type:
                - string
                - 'null'
              example: exact
            match_source:
              type:
                - string
                - 'null'
              example: full_ja4
            deterministic:
              type:
                - boolean
                - 'null'
              example: true
            reference:
              anyOf:
                - type: object
                  additionalProperties: false
                  required:
                    - label
                    - source
                    - protocol
                    - tls_version
                    - sni
                    - alpn
                    - cipher_count
                    - ext_count
                    - sample_size
                    - verified
                  properties:
                    label:
                      type: string
                      example: Chrome
                    source:
                      type: string
                      example: master_db
                    protocol:
                      type: string
                      example: t
                    tls_version:
                      type: string
                      example: '13'
                    sni:
                      type: string
                      example: d
                    alpn:
                      type: string
                      example: h2
                    cipher_count:
                      type: object
                      additionalProperties: false
                      required:
                        - min
                        - max
                      properties:
                        min:
                          type: integer
                          example: 15
                        max:
                          type: integer
                          example: 16
                      example:
                        min: 15
                        max: 16
                    ext_count:
                      type: object
                      additionalProperties: false
                      required:
                        - min
                        - max
                      properties:
                        min:
                          type: integer
                          example: 15
                        max:
                          type: integer
                          example: 16
                      example:
                        min: 15
                        max: 16
                    sample_size:
                      type: integer
                      example: 63
                    verified:
                      type:
                        - boolean
                        - 'null'
                      example: true
                  example:
                    label: Chrome
                    source: master_db
                    protocol: t
                    tls_version: '13'
                    sni: d
                    alpn: h2
                    cipher_count:
                      min: 15
                      max: 16
                    ext_count:
                      min: 15
                      max: 16
                    sample_size: 63
                    verified: true
                - type: 'null'
                  example: null
              example:
                label: Chrome
                source: master_db
                protocol: t
                tls_version: '13'
                sni: d
                alpn: h2
                cipher_count:
                  min: 15
                  max: 16
                ext_count:
                  min: 15
                  max: 16
                sample_size: 63
                verified: true
          example:
            hash: t13d1516h2_0123456789ab_fedcba987654
            profile: chrome
            family: chromium
            product: chrome
            confidence: exact
            match_source: full_ja4
            deterministic: true
            reference:
              label: Chrome
              source: master_db
              protocol: t
              tls_version: '13'
              sni: d
              alpn: h2
              cipher_count:
                min: 15
                max: 16
              ext_count:
                min: 15
                max: 16
              sample_size: 63
              verified: true
        http2:
          type: object
          additionalProperties: false
          required:
            - akamai_fingerprint
            - profile
          properties:
            akamai_fingerprint:
              type:
                - string
                - 'null'
              example: 1:65536;4:131072;5:16384|12517377|0|m,p,a,s
            profile:
              type:
                - string
                - 'null'
              example: chrome
          example:
            akamai_fingerprint: 1:65536;4:131072;5:16384|12517377|0|m,p,a,s
            profile: chrome
        user_agent_alignment:
          anyOf:
            - type: string
              enum:
                - match
                - mismatch
                - unknown
              example: match
            - type: 'null'
              example: null
          example: match
      example:
        ja4:
          hash: t13d1516h2_0123456789ab_fedcba987654
          profile: chrome
          family: chromium
          product: chrome
          confidence: exact
          match_source: full_ja4
          deterministic: true
          reference:
            label: Chrome
            source: master_db
            protocol: t
            tls_version: '13'
            sni: d
            alpn: h2
            cipher_count:
              min: 15
              max: 16
            ext_count:
              min: 15
              max: 16
            sample_size: 63
            verified: true
        http2:
          akamai_fingerprint: 1:65536;4:131072;5:16384|12517377|0|m,p,a,s
          profile: chrome
        user_agent_alignment: match
    SessionDetailRequest:
      type: object
      additionalProperties: false
      required:
        - url
        - referrer
        - user_agent
      properties:
        url:
          type: string
          format: uri
          example: https://app.acme.co/signup
        referrer:
          type:
            - string
            - 'null'
          example: https://app.acme.co/
        user_agent:
          type: string
          example: >-
            Mozilla/5.0 (Macintosh; Intel Mac OS X 14_4) AppleWebKit/537.36
            (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36
      example:
        url: https://app.acme.co/signup
        referrer: https://app.acme.co/
        user_agent: >-
          Mozilla/5.0 (Macintosh; Intel Mac OS X 14_4) AppleWebKit/537.36
          (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36
    SessionBrowser:
      type: object
      additionalProperties: false
      required:
        - name
        - version
        - major_version
        - engine
      properties:
        name:
          type:
            - string
            - 'null'
          example: Chromium
        version:
          type:
            - string
            - 'null'
          example: 123.0.0.0
        major_version:
          type:
            - string
            - 'null'
          example: '123'
        engine:
          type: string
          example: blink
      example:
        name: Chromium
        version: 123.0.0.0
        major_version: '123'
        engine: blink
    SessionDevice:
      type: object
      additionalProperties: false
      required:
        - form_factor
        - operating_system
        - architecture
        - screen
        - locale
        - capabilities
      properties:
        form_factor:
          type: string
          example: desktop
        operating_system:
          type: object
          additionalProperties: false
          required:
            - name
            - version
          properties:
            name:
              type:
                - string
                - 'null'
              example: macOS
            version:
              type:
                - string
                - 'null'
              example: 123.0.0.0
          example:
            name: macOS
            version: 123.0.0.0
        architecture:
          type:
            - string
            - 'null'
          example: arm
        screen:
          type: object
          additionalProperties: false
          required:
            - size
            - color_depth
            - pixel_ratio
            - orientation_type
          properties:
            size:
              type:
                - string
                - 'null'
              example: 1440x900
            color_depth:
              anyOf:
                - type: integer
                  example: 1
                - type: 'null'
                  example: null
              example: 1
            pixel_ratio:
              anyOf:
                - type: number
                  example: 1.5
                - type: 'null'
                  example: null
              example: 1.5
            orientation_type:
              type:
                - string
                - 'null'
              example: landscape-primary
          example:
            size: 1440x900
            color_depth: 1
            pixel_ratio: 1.5
            orientation_type: landscape-primary
        locale:
          type: object
          additionalProperties: false
          required:
            - timezone
            - primary_language
            - languages
          properties:
            timezone:
              type:
                - string
                - 'null'
              example: America/Los_Angeles
            primary_language:
              type:
                - string
                - 'null'
              example: en-US
            languages:
              type: array
              items:
                type: string
                example: en-US
              example:
                - en-US
                - en
          example:
            timezone: America/Los_Angeles
            primary_language: en-US
            languages:
              - en-US
              - en
        capabilities:
          type: object
          additionalProperties: false
          required:
            - touch
            - storage
            - webgpu
            - platform_authenticator
            - media_devices
            - speech_synthesis
          properties:
            touch:
              type: object
              additionalProperties: false
              required:
                - available
                - max_touch_points
              properties:
                available:
                  type:
                    - boolean
                    - 'null'
                  example: true
                max_touch_points:
                  anyOf:
                    - type: integer
                      example: 1
                    - type: 'null'
                      example: null
                  example: 1
              example:
                available: true
                max_touch_points: 1
            storage:
              type: object
              additionalProperties: false
              required:
                - cookies
                - local_storage
                - indexed_db
                - service_worker
                - window_name
              properties:
                cookies:
                  type:
                    - boolean
                    - 'null'
                  example: true
                local_storage:
                  type:
                    - boolean
                    - 'null'
                  example: true
                indexed_db:
                  type:
                    - boolean
                    - 'null'
                  example: true
                service_worker:
                  type:
                    - boolean
                    - 'null'
                  example: true
                window_name:
                  type:
                    - boolean
                    - 'null'
                  example: true
              example:
                cookies: true
                local_storage: true
                indexed_db: true
                service_worker: true
                window_name: true
            webgpu:
              type: object
              additionalProperties: false
              required:
                - available
              properties:
                available:
                  type:
                    - boolean
                    - 'null'
                  example: true
              example:
                available: true
            platform_authenticator:
              type: object
              additionalProperties: false
              required:
                - available
                - conditional_mediation
              properties:
                available:
                  type:
                    - boolean
                    - 'null'
                  example: true
                conditional_mediation:
                  type:
                    - boolean
                    - 'null'
                  example: true
              example:
                available: true
                conditional_mediation: true
            media_devices:
              type: object
              additionalProperties: false
              required:
                - available
              properties:
                available:
                  type:
                    - boolean
                    - 'null'
                  example: true
              example:
                available: true
            speech_synthesis:
              type: object
              additionalProperties: false
              required:
                - available
              properties:
                available:
                  type:
                    - boolean
                    - 'null'
                  example: true
              example:
                available: true
          example:
            touch:
              available: true
              max_touch_points: 1
            storage:
              cookies: true
              local_storage: true
              indexed_db: true
              service_worker: true
              window_name: true
            webgpu:
              available: true
            platform_authenticator:
              available: true
              conditional_mediation: true
            media_devices:
              available: true
            speech_synthesis:
              available: true
      example:
        form_factor: desktop
        operating_system:
          name: macOS
          version: 123.0.0.0
        architecture: arm
        screen:
          size: 1440x900
          color_depth: 1
          pixel_ratio: 1.5
          orientation_type: landscape-primary
        locale:
          timezone: America/Los_Angeles
          primary_language: en-US
          languages:
            - en-US
            - en
        capabilities:
          touch:
            available: true
            max_touch_points: 1
          storage:
            cookies: true
            local_storage: true
            indexed_db: true
            service_worker: true
            window_name: true
          webgpu:
            available: true
          platform_authenticator:
            available: true
            conditional_mediation: true
          media_devices:
            available: true
          speech_synthesis:
            available: true
    SessionAnalysisCoverage:
      type: object
      additionalProperties: false
      required:
        - browser
        - device
        - network
        - runtime
        - behavioral
        - visitor_identity
      properties:
        browser:
          type: boolean
          example: true
        device:
          type: boolean
          example: true
        network:
          type: boolean
          example: true
        runtime:
          type: boolean
          example: true
        behavioral:
          type: boolean
          example: true
        visitor_identity:
          type: boolean
          example: true
      example:
        browser: true
        device: true
        network: true
        runtime: true
        behavioral: true
        visitor_identity: true
    SessionSignalFired:
      type: object
      additionalProperties: false
      required:
        - signal
        - role
        - category
        - strength
        - signal_score
      properties:
        signal:
          type: string
          examples:
            - webdriver_detected
        role:
          type: string
          example: owner
        category:
          type: string
          example: environment
        strength:
          type: string
          example: definitive
        signal_score:
          type: integer
          minimum: 0
          maximum: 100
          example: 100
      example:
        signal: webdriver_detected
        role: owner
        category: environment
        strength: definitive
        signal_score: 100
    SessionClientTelemetry:
      type: object
      additionalProperties: false
      description: >-
        Curated lower-level client telemetry grouped for investigation and
        analysis.
      required:
        - navigator
        - storage
        - canvas
        - graphics
        - audio
        - fonts
        - media
      properties:
        navigator:
          $ref: '#/components/schemas/SessionRawDeviceNavigator'
          example:
            platform: macOS
            vendor: Google Inc.
            hardware_concurrency: 8
            device_memory: 8
            max_touch_points: 0
            pdf_viewer_enabled: true
            cookie_enabled: true
            product_sub: '20030107'
            primary_language: en-US
            languages:
              - en-US
              - en
            mime_types_count: 3
            plugins:
              - PDF Viewer
        storage:
          $ref: '#/components/schemas/SessionRawDeviceStorage'
          example:
            cookies: true
            local_storage: true
            session_storage: true
            indexed_db: true
            service_worker: true
            window_name: true
        canvas:
          $ref: '#/components/schemas/SessionRawDeviceCanvas'
          example:
            hash: 1234567890
            geometry_hash: 1234567890
            text_hash: 1234567890
            winding: true
            noise_detected: true
            offscreen_consistent: true
        graphics:
          $ref: '#/components/schemas/SessionRawDeviceGraphics'
          example:
            webgl:
              vendor: Google Inc.
              renderer: >-
                ANGLE (Apple, ANGLE Metal Renderer: Apple M2, Unspecified
                Version)
              version: WebGL 1.0
              shading_language_version: WebGL GLSL ES 1.0
              parameters_hash: '01234567'
              extensions_hash: 1234567890
              extension_parameters_hash: '01234567'
              shader_precision_hash: 1234567890
            webgpu:
              available: true
              adapter_vendor: Google Inc.
              adapter_architecture: arm
              fallback_adapter: true
              features_hash: 1234567890
              limits_hash: 1234567890
        audio:
          $ref: '#/components/schemas/SessionRawDeviceAudio'
          example:
            hash: 1.23456e-7
            sample_rate: 1.5
            channel_count: 3
            voice_count: 22
            local_voice_count: 20
            default_voice_lang: en-US
            noise_detected: true
        fonts:
          $ref: '#/components/schemas/SessionRawDeviceFonts'
          example:
            detected_count: 3
            tested_count: 3
            enumeration_hash: 1234567890
            metrics_hash: 1234567890
            preferences_hash: 1234567890
            emoji_hash: 1234567890
        media:
          $ref: '#/components/schemas/SessionRawDeviceMedia'
          example:
            device_count: 3
            counts_by_kind:
              audioinput: 1
              audiooutput: 1
              videoinput: 1
            blank_label_count: 3
            topology_hash: 1234567890
      example:
        navigator:
          platform: macOS
          vendor: Google Inc.
          hardware_concurrency: 8
          device_memory: 8
          max_touch_points: 0
          pdf_viewer_enabled: true
          cookie_enabled: true
          product_sub: '20030107'
          primary_language: en-US
          languages:
            - en-US
            - en
          mime_types_count: 3
          plugins:
            - PDF Viewer
        storage:
          cookies: true
          local_storage: true
          session_storage: true
          indexed_db: true
          service_worker: true
          window_name: true
        canvas:
          hash: 1234567890
          geometry_hash: 1234567890
          text_hash: 1234567890
          winding: true
          noise_detected: true
          offscreen_consistent: true
        graphics:
          webgl:
            vendor: Google Inc.
            renderer: 'ANGLE (Apple, ANGLE Metal Renderer: Apple M2, Unspecified Version)'
            version: WebGL 1.0
            shading_language_version: WebGL GLSL ES 1.0
            parameters_hash: '01234567'
            extensions_hash: 1234567890
            extension_parameters_hash: '01234567'
            shader_precision_hash: 1234567890
          webgpu:
            available: true
            adapter_vendor: Google Inc.
            adapter_architecture: arm
            fallback_adapter: true
            features_hash: 1234567890
            limits_hash: 1234567890
        audio:
          hash: 1.23456e-7
          sample_rate: 1.5
          channel_count: 3
          voice_count: 22
          local_voice_count: 20
          default_voice_lang: en-US
          noise_detected: true
        fonts:
          detected_count: 3
          tested_count: 3
          enumeration_hash: 1234567890
          metrics_hash: 1234567890
          preferences_hash: 1234567890
          emoji_hash: 1234567890
        media:
          device_count: 3
          counts_by_kind:
            audioinput: 1
            audiooutput: 1
            videoinput: 1
          blank_label_count: 3
          topology_hash: 1234567890
    SessionAttribution:
      type: object
      additionalProperties: false
      required:
        - labels
        - behaviors
      properties:
        labels:
          type: array
          items:
            $ref: '#/components/schemas/SessionAttributionLabel'
          example:
            - kind: actor
              value: automation
              label: Automation
              confidence: 98
            - kind: tool
              value: selenium
              label: Selenium
              confidence: 88
        behaviors:
          type: array
          items:
            $ref: '#/components/schemas/SessionAttributionBehavior'
          example:
            - channel: typing
              value: synthetic-typing
              label: Synthetic Typing
              confidence: 86
      example:
        labels:
          - kind: actor
            value: automation
            label: Automation
            confidence: 98
          - kind: tool
            value: selenium
            label: Selenium
            confidence: 88
        behaviors:
          - channel: typing
            value: synthetic-typing
            label: Synthetic Typing
            confidence: 86
    RequestId:
      type: string
      pattern: ^req_[0-9a-f]{32}$
      example: req_cf147349a4134208aebb8c70e25fb7e1
    ApiErrorDetails:
      type: object
      properties:
        fields:
          type: array
          items:
            $ref: '#/components/schemas/ApiFieldIssue'
            example:
              name: Acme Growth Workspace
              issue: required
              expected: string
              received: any_of
          example:
            - name: Acme Growth Workspace
              issue: required
              expected: string
              received: any_of
        allowed_values:
          type: array
          items:
            type: string
            example: verified
          example:
            - verified
        header_name:
          type: string
          example: x-forwarded-for
        parameter_set:
          type: string
          example: browser_fingerprint
        next_action:
          type: string
          enum:
            - retry
            - new_session
            - reload_bundle
            - contact_support
          example: retry
      additionalProperties: true
      example:
        fields:
          - name: Acme Growth Workspace
            issue: required
            expected: string
            received: any_of
        allowed_values:
          - verified
        header_name: x-forwarded-for
        parameter_set: browser_fingerprint
        next_action: retry
    EventId:
      type: string
      pattern: ^evt_[0123456789abcdefghjkmnpqrstvwxyz]{26}$
      example: evt_srwqc0yqhz4bxvtrdtf69q7vkr
    Phase:
      type: string
      enum:
        - snapshot
        - behavioral
      example: snapshot
    SessionHighlightEvidence:
      type: object
      additionalProperties: false
      required:
        - signal
        - name
      properties:
        signal:
          type: string
          examples:
            - webdriver_detected
        name:
          type: string
          examples:
            - WebDriver detected
      example:
        signal: webdriver_detected
        name: Acme Growth Workspace
    SessionNetworkLocation:
      anyOf:
        - type: object
          additionalProperties: false
          required:
            - city
            - region
            - country
            - country_code
            - latitude
            - longitude
            - timezone
            - postal_code
            - accuracy_radius_km
          properties:
            city:
              type:
                - string
                - 'null'
              example: San Francisco
            region:
              type:
                - string
                - 'null'
              example: California
            country:
              type:
                - string
                - 'null'
              example: United States
            country_code:
              type:
                - string
                - 'null'
              example: US
            latitude:
              type:
                - number
                - 'null'
              example: 37.7749
            longitude:
              type:
                - number
                - 'null'
              example: -122.4194
            timezone:
              type:
                - string
                - 'null'
              example: America/Los_Angeles
            postal_code:
              type:
                - string
                - 'null'
              example: '94103'
            accuracy_radius_km:
              type:
                - number
                - 'null'
              minimum: 0
              example: 10
          example:
            city: San Francisco
            region: California
            country: United States
            country_code: US
            latitude: 37.7749
            longitude: -122.4194
            timezone: America/Los_Angeles
            postal_code: '94103'
            accuracy_radius_km: 10
        - type: 'null'
          example: null
      example:
        city: San Francisco
        region: California
        country: United States
        country_code: US
        latitude: 37.7749
        longitude: -122.4194
        timezone: America/Los_Angeles
        postal_code: '94103'
        accuracy_radius_km: 10
    SessionNativeJailbreakOrRoot:
      type: object
      additionalProperties: false
      required:
        - detected
        - signals
      properties:
        detected:
          type: boolean
          example: true
        signals:
          type: array
          items:
            type: string
            example: webdriver_detected
          example:
            - webdriver_detected
        present_paths:
          type: array
          items:
            type: string
            example: present_paths
          example:
            - present_paths
        dyld_insert_libraries:
          type: array
          items:
            type: string
            example: dyld_insert_libraries
          example:
            - dyld_insert_libraries
        verified_boot_state:
          type: string
          example: verified_boot_state
        magisk_mount_present:
          type: boolean
          example: true
        su_on_path:
          type: boolean
          example: true
      example:
        detected: true
        signals:
          - webdriver_detected
        present_paths:
          - present_paths
        dyld_insert_libraries:
          - dyld_insert_libraries
        verified_boot_state: verified_boot_state
        magisk_mount_present: true
        su_on_path: true
    SessionNativeHooks:
      type: object
      additionalProperties: false
      required:
        - detected
      properties:
        detected:
          type: boolean
          example: true
        frida_ports:
          type: array
          items:
            type: number
            example: 1.5
          example:
            - 1.5
        frida_thread_names:
          type: array
          items:
            type: string
            example: Acme Workspace
          example:
            - Acme Workspace
        hooked_symbols:
          type: array
          items:
            type: string
            example: hooked_symbols
          example:
            - hooked_symbols
        self_hooked_symbols:
          type: array
          items:
            type: string
            example: self_hooked_symbols
          example:
            - self_hooked_symbols
        prologue_anomaly_count:
          type: number
          example: 3
        unexpected_dyld_images:
          type: array
          items:
            type: string
            example: string
          example:
            - string
        xposed_packages:
          type: array
          items:
            type: string
            example: xposed_packages
          example:
            - xposed_packages
      example:
        detected: true
        frida_ports:
          - 1.5
        frida_thread_names:
          - Acme Workspace
        hooked_symbols:
          - hooked_symbols
        self_hooked_symbols:
          - self_hooked_symbols
        prologue_anomaly_count: 3
        unexpected_dyld_images:
          - string
        xposed_packages:
          - xposed_packages
    SessionNativeDebugger:
      type: object
      additionalProperties: false
      required:
        - attached
      properties:
        attached:
          type: boolean
          example: true
        tracer_pid:
          type: number
          example: 1.5
        breakpoint_count:
          type: number
          example: 3
        watchpoint_thread_count:
          type: number
          example: 3
      example:
        attached: true
        tracer_pid: 1.5
        breakpoint_count: 3
        watchpoint_thread_count: 3
    SessionNativeCodeSigning:
      type: object
      additionalProperties: false
      required:
        - invalid
      properties:
        invalid:
          type: boolean
          example: true
        code_sign_valid:
          type: boolean
          example: true
        text_integrity_ok:
          type: boolean
          example: true
        application_debuggable:
          type: boolean
          example: true
        dyld_insert_libraries:
          type: array
          items:
            type: string
            example: dyld_insert_libraries
          example:
            - dyld_insert_libraries
      example:
        invalid: true
        code_sign_valid: true
        text_integrity_ok: true
        application_debuggable: true
        dyld_insert_libraries:
          - dyld_insert_libraries
    SessionNativeSimulatorOrEmulator:
      type: object
      additionalProperties: false
      required:
        - detected
      properties:
        detected:
          type: boolean
          example: true
        is_ios_app_on_mac:
          type: boolean
          example: true
        qemu_files:
          type: array
          items:
            type: string
            example: qemu_files
          example:
            - qemu_files
        ro_hardware:
          type: string
          example: ro_hardware
        ro_product_model:
          type: string
          example: chrome
        simulator_env_keys:
          type: array
          items:
            type: string
            example: FOIL_SAMPLE_KEY
          example:
            - FOIL_SAMPLE_KEY
      example:
        detected: true
        is_ios_app_on_mac: true
        qemu_files:
          - qemu_files
        ro_hardware: ro_hardware
        ro_product_model: chrome
        simulator_env_keys:
          - FOIL_SAMPLE_KEY
    SessionNativeHardwareClaimsMismatch:
      type: object
      additionalProperties: false
      required:
        - detected
        - signals
      properties:
        detected:
          type: boolean
          example: true
        signals:
          type: array
          items:
            type: string
            example: webdriver_detected
          example:
            - webdriver_detected
      example:
        detected: true
        signals:
          - webdriver_detected
    SessionNativeSimPosture:
      type: object
      additionalProperties: false
      required:
        - detected
        - signals
      properties:
        detected:
          type: boolean
          example: true
        signals:
          type: array
          items:
            type: string
            example: webdriver_detected
          example:
            - webdriver_detected
      example:
        detected: true
        signals:
          - webdriver_detected
    SessionNativeAppProvenance:
      type: object
      additionalProperties: false
      required:
        - detected
        - signals
      properties:
        detected:
          type: boolean
          example: true
        signals:
          type: array
          items:
            type: string
            example: webdriver_detected
          example:
            - webdriver_detected
      example:
        detected: true
        signals:
          - webdriver_detected
    SessionNativeDebugPosture:
      type: object
      additionalProperties: false
      required:
        - detected
        - risk_signals
      properties:
        detected:
          type: boolean
          example: true
        adb_enabled:
          type: boolean
          example: true
        developer_options_enabled:
          type: boolean
          example: true
        app_debuggable:
          type: boolean
          example: true
        app_profileable:
          type: boolean
          example: true
        app_test_only:
          type: boolean
          example: true
        debugger_attached:
          type: boolean
          example: true
        get_task_allow:
          type: boolean
          example: true
        embedded_provisioning_profile_present:
          type: boolean
          example: true
        receipt_is_sandbox:
          type: boolean
          example: true
        receipt_is_testflight:
          type: boolean
          example: true
        development_bundle:
          type: boolean
          example: true
        active_debugger_attached:
          type: boolean
          example: true
        breakpoint_count:
          type: number
          example: 3
        exception_port_count:
          type: number
          example: 3
        watchpoint_thread_count:
          type: number
          example: 3
        tracer_pid:
          type: number
          example: 1.5
        direct_syscall_tracer_pid:
          type: number
          example: 1.5
        risk_signals:
          type: array
          items:
            type: string
            example: vpn
          example:
            - vpn
      example:
        detected: true
        adb_enabled: true
        developer_options_enabled: true
        app_debuggable: true
        app_profileable: true
        app_test_only: true
        debugger_attached: true
        get_task_allow: true
        embedded_provisioning_profile_present: true
        receipt_is_sandbox: true
        receipt_is_testflight: true
        development_bundle: true
        active_debugger_attached: true
        breakpoint_count: 3
        exception_port_count: 3
        watchpoint_thread_count: 3
        tracer_pid: 1.5
        direct_syscall_tracer_pid: 1.5
        risk_signals:
          - vpn
    SessionNativeMotionAxes:
      type: object
      additionalProperties: false
      required:
        - bias
        - noise
      properties:
        bias:
          type: array
          items:
            type: number
            example: 1.5
          minItems: 3
          maxItems: 3
          example:
            - 1.5
            - 2.5
            - 3.5
        noise:
          type: array
          items:
            type: number
            example: 1.5
          minItems: 3
          maxItems: 3
          example:
            - 1.5
            - 2.5
            - 3.5
      example:
        bias:
          - 1.5
          - 2.5
          - 3.5
        noise:
          - 1.5
          - 2.5
          - 3.5
    FingerprintId:
      type: string
      pattern: ^vid_[0123456789abcdefghjkmnpqrstvwxyz]{26}$
      example: vid_7cyvmdfjs3rzznf8m65v3bv51m
    SessionDetailVisitorFingerprintLifecycle:
      type: object
      additionalProperties: false
      required:
        - first_seen_at
        - last_seen_at
        - seen_count
      properties:
        first_seen_at:
          type:
            - string
            - 'null'
          format: date-time
          example: '2026-03-01T18:22:11.000Z'
        last_seen_at:
          type:
            - string
            - 'null'
          format: date-time
          example: '2026-03-24T20:00:05.000Z'
        seen_count:
          anyOf:
            - type: integer
              minimum: 0
              example: 1
            - type: 'null'
              example: null
          example: 1
      example:
        first_seen_at: '2026-03-01T18:22:11.000Z'
        last_seen_at: '2026-03-24T20:00:05.000Z'
        seen_count: 1
    SessionRawDeviceNavigator:
      type: object
      additionalProperties: false
      required:
        - platform
        - vendor
        - hardware_concurrency
        - device_memory
        - max_touch_points
        - pdf_viewer_enabled
        - cookie_enabled
        - product_sub
        - primary_language
        - languages
        - mime_types_count
        - plugins
      properties:
        platform:
          type:
            - string
            - 'null'
          example: macOS
        vendor:
          type:
            - string
            - 'null'
          example: Google Inc.
        hardware_concurrency:
          type:
            - integer
            - 'null'
          minimum: 0
          example: 8
        device_memory:
          type:
            - number
            - 'null'
          minimum: 0
          example: 8
        max_touch_points:
          type:
            - integer
            - 'null'
          minimum: 0
          example: 0
        pdf_viewer_enabled:
          type:
            - boolean
            - 'null'
          example: true
        cookie_enabled:
          type:
            - boolean
            - 'null'
          example: true
        product_sub:
          type:
            - string
            - 'null'
          example: '20030107'
        primary_language:
          type:
            - string
            - 'null'
          example: en-US
        languages:
          type: array
          items:
            type: string
            example: en-US
          example:
            - en-US
            - en
        mime_types_count:
          type:
            - integer
            - 'null'
          minimum: 0
          example: 3
        plugins:
          type: array
          items:
            type: string
            example: PDF Viewer
          example:
            - PDF Viewer
      example:
        platform: macOS
        vendor: Google Inc.
        hardware_concurrency: 8
        device_memory: 8
        max_touch_points: 0
        pdf_viewer_enabled: true
        cookie_enabled: true
        product_sub: '20030107'
        primary_language: en-US
        languages:
          - en-US
          - en
        mime_types_count: 3
        plugins:
          - PDF Viewer
    SessionRawDeviceStorage:
      type: object
      additionalProperties: false
      required:
        - cookies
        - local_storage
        - session_storage
        - indexed_db
        - service_worker
        - window_name
      properties:
        cookies:
          type:
            - boolean
            - 'null'
          example: true
        local_storage:
          type:
            - boolean
            - 'null'
          example: true
        session_storage:
          type:
            - boolean
            - 'null'
          example: true
        indexed_db:
          type:
            - boolean
            - 'null'
          example: true
        service_worker:
          type:
            - boolean
            - 'null'
          example: true
        window_name:
          type:
            - boolean
            - 'null'
          example: true
      example:
        cookies: true
        local_storage: true
        session_storage: true
        indexed_db: true
        service_worker: true
        window_name: true
    SessionRawDeviceCanvas:
      type: object
      additionalProperties: false
      required:
        - hash
        - geometry_hash
        - text_hash
        - winding
        - noise_detected
        - offscreen_consistent
      properties:
        hash:
          $ref: '#/components/schemas/ObservationHash'
          example: 1234567890
        geometry_hash:
          $ref: '#/components/schemas/ObservationHash'
          example: 1234567890
        text_hash:
          $ref: '#/components/schemas/ObservationHash'
          example: 1234567890
        winding:
          type:
            - boolean
            - 'null'
          example: true
        noise_detected:
          type:
            - boolean
            - 'null'
          example: true
        offscreen_consistent:
          type:
            - boolean
            - 'null'
          example: true
      example:
        hash: 1234567890
        geometry_hash: 1234567890
        text_hash: 1234567890
        winding: true
        noise_detected: true
        offscreen_consistent: true
    SessionRawDeviceGraphics:
      type: object
      additionalProperties: false
      required:
        - webgl
        - webgpu
      properties:
        webgl:
          $ref: '#/components/schemas/SessionRawDeviceGraphicsWebgl'
          example:
            vendor: Google Inc.
            renderer: 'ANGLE (Apple, ANGLE Metal Renderer: Apple M2, Unspecified Version)'
            version: WebGL 1.0
            shading_language_version: WebGL GLSL ES 1.0
            parameters_hash: '01234567'
            extensions_hash: 1234567890
            extension_parameters_hash: '01234567'
            shader_precision_hash: 1234567890
        webgpu:
          $ref: '#/components/schemas/SessionRawDeviceGraphicsWebgpu'
          example:
            available: true
            adapter_vendor: Google Inc.
            adapter_architecture: arm
            fallback_adapter: true
            features_hash: 1234567890
            limits_hash: 1234567890
      example:
        webgl:
          vendor: Google Inc.
          renderer: 'ANGLE (Apple, ANGLE Metal Renderer: Apple M2, Unspecified Version)'
          version: WebGL 1.0
          shading_language_version: WebGL GLSL ES 1.0
          parameters_hash: '01234567'
          extensions_hash: 1234567890
          extension_parameters_hash: '01234567'
          shader_precision_hash: 1234567890
        webgpu:
          available: true
          adapter_vendor: Google Inc.
          adapter_architecture: arm
          fallback_adapter: true
          features_hash: 1234567890
          limits_hash: 1234567890
    SessionRawDeviceAudio:
      type: object
      additionalProperties: false
      required:
        - hash
        - sample_rate
        - channel_count
        - voice_count
        - local_voice_count
        - default_voice_lang
        - noise_detected
      properties:
        hash:
          $ref: '#/components/schemas/ObservationHash'
          example: 1.23456e-7
        sample_rate:
          type:
            - number
            - 'null'
          minimum: 0
          example: 1.5
        channel_count:
          type:
            - integer
            - 'null'
          minimum: 0
          example: 3
        voice_count:
          type:
            - integer
            - 'null'
          minimum: 0
          example: 22
        local_voice_count:
          type:
            - integer
            - 'null'
          minimum: 0
          example: 20
        default_voice_lang:
          type:
            - string
            - 'null'
          example: en-US
        noise_detected:
          type:
            - boolean
            - 'null'
          example: true
      example:
        hash: 1.23456e-7
        sample_rate: 1.5
        channel_count: 3
        voice_count: 22
        local_voice_count: 20
        default_voice_lang: en-US
        noise_detected: true
    SessionRawDeviceFonts:
      type: object
      additionalProperties: false
      required:
        - detected_count
        - tested_count
        - enumeration_hash
        - metrics_hash
        - preferences_hash
        - emoji_hash
      properties:
        detected_count:
          type:
            - integer
            - 'null'
          minimum: 0
          example: 3
        tested_count:
          type:
            - integer
            - 'null'
          minimum: 0
          example: 3
        enumeration_hash:
          $ref: '#/components/schemas/ObservationHash'
          example: 1234567890
        metrics_hash:
          $ref: '#/components/schemas/ObservationHash'
          example: 1234567890
        preferences_hash:
          $ref: '#/components/schemas/ObservationHash'
          example: 1234567890
        emoji_hash:
          $ref: '#/components/schemas/ObservationHash'
          example: 1234567890
      example:
        detected_count: 3
        tested_count: 3
        enumeration_hash: 1234567890
        metrics_hash: 1234567890
        preferences_hash: 1234567890
        emoji_hash: 1234567890
    SessionRawDeviceMedia:
      type: object
      additionalProperties: false
      required:
        - device_count
        - counts_by_kind
        - blank_label_count
        - topology_hash
      properties:
        device_count:
          type:
            - integer
            - 'null'
          minimum: 0
          example: 3
        counts_by_kind:
          type: object
          additionalProperties:
            type: integer
            minimum: 0
            example: 3
          example:
            audioinput: 1
            audiooutput: 1
            videoinput: 1
        blank_label_count:
          type:
            - integer
            - 'null'
          minimum: 0
          example: 3
        topology_hash:
          $ref: '#/components/schemas/ObservationHash'
          example: 1234567890
      example:
        device_count: 3
        counts_by_kind:
          audioinput: 1
          audiooutput: 1
          videoinput: 1
        blank_label_count: 3
        topology_hash: 1234567890
    SessionAttributionLabel:
      type: object
      additionalProperties: false
      required:
        - kind
        - value
        - label
        - confidence
      properties:
        kind:
          type: string
          enum:
            - actor
            - provider
            - tool
            - product
            - organization
            - purpose
            - environment
            - trust
            - evasion
          example: actor
        value:
          type: string
          example: automation
        label:
          type: string
          example: Automation
        confidence:
          type: integer
          minimum: 0
          maximum: 100
          example: 98
      example:
        kind: actor
        value: automation
        label: Automation
        confidence: 98
    SessionAttributionBehavior:
      type: object
      additionalProperties: false
      required:
        - channel
        - value
        - label
        - confidence
      properties:
        channel:
          type: string
          enum:
            - typing
            - form
            - mouse
            - touch
            - scroll
            - clipboard
          example: typing
        value:
          type: string
          example: synthetic-typing
        label:
          type: string
          example: Synthetic Typing
        confidence:
          type: integer
          minimum: 0
          maximum: 100
          example: 86
      example:
        channel: typing
        value: synthetic-typing
        label: Synthetic Typing
        confidence: 86
    ApiFieldIssue:
      type: object
      additionalProperties: false
      required:
        - name
        - issue
      properties:
        name:
          type: string
          example: Acme Growth Workspace
        issue:
          type: string
          example: required
        expected:
          type: string
          example: string
        received:
          anyOf:
            - type: string
              example: '0'
            - type: number
              example: 1.5
            - type: boolean
              example: true
            - type: 'null'
              example: null
          example: any_of
      example:
        name: Acme Growth Workspace
        issue: required
        expected: string
        received: any_of
    ObservationHash:
      anyOf:
        - type: string
          example: obs_01234567
        - type: number
          example: 1234567890
        - type: 'null'
          example: null
      example: obs_01234567
    SessionRawDeviceGraphicsWebgl:
      type: object
      additionalProperties: false
      required:
        - vendor
        - renderer
        - version
        - shading_language_version
        - parameters_hash
        - extensions_hash
        - extension_parameters_hash
        - shader_precision_hash
      properties:
        vendor:
          type:
            - string
            - 'null'
          example: Google Inc.
        renderer:
          type:
            - string
            - 'null'
          example: 'ANGLE (Apple, ANGLE Metal Renderer: Apple M2, Unspecified Version)'
        version:
          type:
            - string
            - 'null'
          example: WebGL 1.0
        shading_language_version:
          type:
            - string
            - 'null'
          example: WebGL GLSL ES 1.0
        parameters_hash:
          $ref: '#/components/schemas/ObservationHash'
          example: '01234567'
        extensions_hash:
          $ref: '#/components/schemas/ObservationHash'
          example: 1234567890
        extension_parameters_hash:
          $ref: '#/components/schemas/ObservationHash'
          example: '01234567'
        shader_precision_hash:
          $ref: '#/components/schemas/ObservationHash'
          example: 1234567890
      example:
        vendor: Google Inc.
        renderer: 'ANGLE (Apple, ANGLE Metal Renderer: Apple M2, Unspecified Version)'
        version: WebGL 1.0
        shading_language_version: WebGL GLSL ES 1.0
        parameters_hash: '01234567'
        extensions_hash: 1234567890
        extension_parameters_hash: '01234567'
        shader_precision_hash: 1234567890
    SessionRawDeviceGraphicsWebgpu:
      type: object
      additionalProperties: false
      required:
        - available
        - adapter_vendor
        - adapter_architecture
        - fallback_adapter
        - features_hash
        - limits_hash
      properties:
        available:
          type:
            - boolean
            - 'null'
          example: true
        adapter_vendor:
          type:
            - string
            - 'null'
          example: Google Inc.
        adapter_architecture:
          type:
            - string
            - 'null'
          example: arm
        fallback_adapter:
          type:
            - boolean
            - 'null'
          example: true
        features_hash:
          $ref: '#/components/schemas/ObservationHash'
          example: 1234567890
        limits_hash:
          $ref: '#/components/schemas/ObservationHash'
          example: 1234567890
      example:
        available: true
        adapter_vendor: Google Inc.
        adapter_architecture: arm
        fallback_adapter: true
        features_hash: 1234567890
        limits_hash: 1234567890

````