Skip to content

Sync OpenAPI Schema (18599) - #478

Merged
mcnulty-fp merged 3 commits into
mainfrom
sync-18599
Sep 24, 2026
Merged

mcnulty-fp merged 3 commits into
mainfrom
sync-18599

Conversation

@fingerprint-dx-team-actions-runner

Copy link
Copy Markdown
Contributor

This PR automatically updates the OpenAPI schema.

Changes

5 file(s) modified, 1 file(s) added

Modified files
  • schemas/components/schemas/Event.yaml
  • schemas/paths/examples/events/get_event_200.json
  • schemas/paths/examples/events/get_event_ruleset_200.json
  • schemas/paths/examples/events/get_event_with_bot_info_200.json
  • schemas/paths/examples/events/search/get_event_search_200.json
Added files
  • schemas/components/schemas/smartsignals/DeviceDetails.yaml

Note for reviewers: Please review the schema changes.
You likely need to manually add a changeset file to this branch before merging.

@fingerprint-dx-team-actions-runner

Copy link
Copy Markdown
Contributor Author

✅The changes have been finalized. This PR is ready for review.

@changeset-bot

changeset-bot Bot commented Sep 23, 2026 •

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: ada12d4

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
fingerprint-pro-server-api-openapi Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@github-actions

github-actions Bot commented Sep 23, 2026 •

Copy link
Copy Markdown
Contributor

Schema Diff vs Published Schemas

  • Generated at: 2026-09-23T21:30:02.510Z
  • Published source: https://fingerprintjs.github.io/fingerprint-pro-server-api-openapi/schemas
  • Compared schemas: 8
  • Changed schemas: 3

fingerprint-server-api-v4-normalized.yaml

Published URL: https://fingerprintjs.github.io/fingerprint-pro-server-api-openapi/schemas/fingerprint-server-api-v4-normalized.yaml
Summary: +2 added, -0 removed, ~0 modified

Added elements (2)
  • /components/schemas/DeviceDetails
  • /components/schemas/Event/properties/device_details
Removed elements (0)

None

Modified elements (0)

None

Changed lines patch
--- a/schemas/fingerprint-server-api-v4-normalized.yaml
+++ b/schemas/fingerprint-server-api-v4-normalized.yaml
@@ -2077,10 +2077,52 @@
     DeveloperTools:
       type: boolean
       description: >
         `true` if the browser has DevTools open (Chrome, Firefox) or the
         Android/iOS device has Developer Tools enabled, `false` otherwise.
+    DeviceDetails:
+      type: object
+      description: >-
+        Native, SDK-collected mobile device identification signals
+        (manufacturer, model, and OS version). Structurally separate from the
+        top-level `device`, `os`, and `os_version` fields and from
+        `browser_details`, all of which are derived from user-agent parsing
+        rather than native SDK signals.
+      required: []
+      properties:
+        device_manufacturer:
+          type: string
+          examples:
+            - samsung
+            - Apple
+          description: >-
+            Raw device manufacturer string as reported by the device OS. Not
+            normalized: casing is vendor-defined (samsung, Xiaomi, OPPO,
+            HUAWEI). Always `Apple` on iOS.
+        device_model:
+          type: string
+          examples:
+            - SM-G991U
+            - iPhone14,5
+          description: Raw device model identifier, as reported by the mobile OS.
+        os_version:
+          type: string
+          examples:
+            - '9'
+            - '16.1'
+            - 8.1.0
+            - 17.4.1
+          description: >-
+            Mobile operating system version. Component count is not fixed and
+            must not be assumed by consumers: iOS always reports
+            `major.minor.patch` (e.g. `17.4.1`), while Android's precision
+            varies by OS era and which raw signal resolved it — `major` only
+            (`9`, `13`) since Android 10 dropped point releases, `major.minor`
+            (`16.1`) from Android 16 (API 36+) reintroducing a minor component,
+            or a genuine `major.minor.patch` (`8.1.0`) on pre-Android 10 devices
+            that shipped real point releases. Never a fabricated/zero-padded
+            component.
     Emulator:
       type: boolean
       description: >
         Android specific emulator detection. There are 2 values: 
 
@@ -3262,10 +3304,15 @@
           $ref: '#/components/schemas/DeveloperTools'
           x-platforms:
             - browser
             - android
             - ios
+        device_details:
+          $ref: '#/components/schemas/DeviceDetails'
+          x-platforms:
+            - android
+            - ios
         emulator:
           $ref: '#/components/schemas/Emulator'
           x-platforms:
             - android
         factory_reset_timestamp:

fingerprint-server-api-v4-with-examples.yaml

Published URL: https://fingerprintjs.github.io/fingerprint-pro-server-api-openapi/schemas/fingerprint-server-api-v4-with-examples.yaml
Summary: +6 added, -0 removed, ~0 modified

Added elements (6)
  • /components/schemas/DeviceDetails
  • /components/schemas/Event/properties/device_details
  • /paths/~1events/get/responses/200/content/application~1json/examples/200-ok/value/events/0/device_details
  • /paths/~1events~1{event_id}/get/responses/200/content/application~1json/examples/200-ok-with-bot-info/value/device_details
  • /paths/~1events~1{event_id}/get/responses/200/content/application~1json/examples/200-ok-with-ruleset/value/device_details
  • /paths/~1events~1{event_id}/get/responses/200/content/application~1json/examples/200-ok/value/device_details
Removed elements (0)

None

Modified elements (0)

None

Changed lines patch
--- a/schemas/fingerprint-server-api-v4-with-examples.yaml
+++ b/schemas/fingerprint-server-api-v4-with-examples.yaml
@@ -535,10 +535,14 @@
                       distinct_visitor_id_by_linked_id:
                         5_minutes: 1
                         1_hour: 5
                         24_hours: 5
                     developer_tools: false
+                    device_details:
+                      device_manufacturer: samsung
+                      device_model: SM-G991U
+                      os_version: '13'
                     mitm_attack: false
                     sdk:
                       platform: js
                       version: 3.11.10
                       integrations:
@@ -801,10 +805,14 @@
                       distinct_visitor_id_by_linked_id:
                         5_minutes: 1
                         1_hour: 5
                         24_hours: 5
                     developer_tools: false
+                    device_details:
+                      device_manufacturer: samsung
+                      device_model: SM-G991U
+                      os_version: '13'
                     mitm_attack: false
                     sdk:
                       platform: js
                       version: 3.11.10
                       integrations:
@@ -1080,10 +1088,14 @@
                       distinct_visitor_id_by_linked_id:
                         5_minutes: 1
                         1_hour: 5
                         24_hours: 5
                     developer_tools: false
+                    device_details:
+                      device_manufacturer: samsung
+                      device_model: SM-G991U
+                      os_version: '13'
                     mitm_attack: false
                     sdk:
                       platform: js
                       version: 3.11.10
                       integrations:
@@ -2546,10 +2558,14 @@
                           distinct_visitor_id_by_linked_id:
                             5_minutes: 1
                             1_hour: 5
                             24_hours: 5
                         developer_tools: false
+                        device_details:
+                          device_manufacturer: samsung
+                          device_model: SM-G991U
+                          os_version: '13'
                         mitm_attack: false
                         sdk:
                           platform: js
                           version: 3.11.10
                           integrations:
@@ -4114,10 +4130,53 @@
     DeveloperTools:
       type: boolean
       description: >
         `true` if the browser has DevTools open (Chrome, Firefox) or the
         Android/iOS device has Developer Tools enabled, `false` otherwise.
+    DeviceDetails:
+      type: object
+      additionalProperties: false
+      description: >-
+        Native, SDK-collected mobile device identification signals
+        (manufacturer, model, and OS version). Structurally separate from the
+        top-level `device`, `os`, and `os_version` fields and from
+        `browser_details`, all of which are derived from user-agent parsing
+        rather than native SDK signals.
+      required: []
+      properties:
+        device_manufacturer:
+          type: string
+          examples:
+            - samsung
+            - Apple
+          description: >-
+            Raw device manufacturer string as reported by the device OS. Not
+            normalized: casing is vendor-defined (samsung, Xiaomi, OPPO,
+            HUAWEI). Always `Apple` on iOS.
+        device_model:
+          type: string
+          examples:
+            - SM-G991U
+            - iPhone14,5
+          description: Raw device model identifier, as reported by the mobile OS.
+        os_version:
+          type: string
+          examples:
+            - '9'
+            - '16.1'
+            - 8.1.0
+            - 17.4.1
+          description: >-
+            Mobile operating system version. Component count is not fixed and
+            must not be assumed by consumers: iOS always reports
+            `major.minor.patch` (e.g. `17.4.1`), while Android's precision
+            varies by OS era and which raw signal resolved it — `major` only
+            (`9`, `13`) since Android 10 dropped point releases, `major.minor`
+            (`16.1`) from Android 16 (API 36+) reintroducing a minor component,
+            or a genuine `major.minor.patch` (`8.1.0`) on pre-Android 10 devices
+            that shipped real point releases. Never a fabricated/zero-padded
+            component.
     Emulator:
       type: boolean
       description: >
         Android specific emulator detection. There are 2 values: 
 
@@ -5316,10 +5375,15 @@
           $ref: '#/components/schemas/DeveloperTools'
           x-platforms:
             - browser
             - android
             - ios
+        device_details:
+          $ref: '#/components/schemas/DeviceDetails'
+          x-platforms:
+            - android
+            - ios
         emulator:
           $ref: '#/components/schemas/Emulator'
           x-platforms:
             - android
         factory_reset_timestamp:

fingerprint-server-api-v4.yaml

Published URL: https://fingerprintjs.github.io/fingerprint-pro-server-api-openapi/schemas/fingerprint-server-api-v4.yaml
Summary: +2 added, -0 removed, ~0 modified

Added elements (2)
  • /components/schemas/DeviceDetails
  • /components/schemas/Event/properties/device_details
Removed elements (0)

None

Modified elements (0)

None

Changed lines patch
--- a/schemas/fingerprint-server-api-v4.yaml
+++ b/schemas/fingerprint-server-api-v4.yaml
@@ -2063,10 +2063,52 @@
     DeveloperTools:
       type: boolean
       description: >
         `true` if the browser has DevTools open (Chrome, Firefox) or the
         Android/iOS device has Developer Tools enabled, `false` otherwise.
+    DeviceDetails:
+      type: object
+      description: >-
+        Native, SDK-collected mobile device identification signals
+        (manufacturer, model, and OS version). Structurally separate from the
+        top-level `device`, `os`, and `os_version` fields and from
+        `browser_details`, all of which are derived from user-agent parsing
+        rather than native SDK signals.
+      required: []
+      properties:
+        device_manufacturer:
+          type: string
+          examples:
+            - samsung
+            - Apple
+          description: >-
+            Raw device manufacturer string as reported by the device OS. Not
+            normalized: casing is vendor-defined (samsung, Xiaomi, OPPO,
+            HUAWEI). Always `Apple` on iOS.
+        device_model:
+          type: string
+          examples:
+            - SM-G991U
+            - iPhone14,5
+          description: Raw device model identifier, as reported by the mobile OS.
+        os_version:
+          type: string
+          examples:
+            - '9'
+            - '16.1'
+            - 8.1.0
+            - 17.4.1
+          description: >-
+            Mobile operating system version. Component count is not fixed and
+            must not be assumed by consumers: iOS always reports
+            `major.minor.patch` (e.g. `17.4.1`), while Android's precision
+            varies by OS era and which raw signal resolved it — `major` only
+            (`9`, `13`) since Android 10 dropped point releases, `major.minor`
+            (`16.1`) from Android 16 (API 36+) reintroducing a minor component,
+            or a genuine `major.minor.patch` (`8.1.0`) on pre-Android 10 devices
+            that shipped real point releases. Never a fabricated/zero-padded
+            component.
     Emulator:
       type: boolean
       description: >
         Android specific emulator detection. There are 2 values: 
 
@@ -3248,10 +3290,15 @@
           $ref: '#/components/schemas/DeveloperTools'
           x-platforms:
             - browser
             - android
             - ios
+        device_details:
+          $ref: '#/components/schemas/DeviceDetails'
+          x-platforms:
+            - android
+            - ios
         emulator:
           $ref: '#/components/schemas/Emulator'
           x-platforms:
             - android
         factory_reset_timestamp:

@github-actions

Copy link
Copy Markdown
Contributor

🚀 Following releases will be created using changesets from this PR:

fingerprint-pro-server-api-openapi@3.8.0

Minor Changes

  • events: Add device_details smart signal to Event (ada12d4)

Comment thread schemas/components/schemas/smartsignals/DeviceDetails.yaml
@mcnulty-fp
mcnulty-fp merged commit 2ec55ac into main Sep 24, 2026
7 checks passed
@mcnulty-fp
mcnulty-fp deleted the sync-18599 branch September 24, 2026 13:17

This branch was successfully deployed

1 active deployment
test — ada12d45 Deployed Sep 23, 2026 by mcnulty-fp via Lint, build and test #1444
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants