From 0dda9e80223f564b7a2c06352d0eeca1bbe872c6 Mon Sep 17 00:00:00 2001 From: "fingerprint-dx-team-actions-runner[bot]" <197604345+fingerprint-dx-team-actions-runner[bot]@users.noreply.github.com> Date: Thu, 24 Sep 2026 16:33:38 +0000 Subject: [PATCH 1/2] feat: sync OpenAPI schema to v3.8.0 --- .changeset/device-details-signal.md | 5 + .changeset/sync-koala-v3-schema.md | 5 + .schema-version | 2 +- resources/fingerprint-server-api.yaml | 92 +++++++++++---- src/generatedApiTypes.ts | 107 +++++++++++------- .../events/get_event_200.json | 5 + .../get_event_200_with_unknown_field.json | 5 + .../events/get_event_ruleset_200.json | 5 + .../events/get_event_with_bot_info_200.json | 5 + .../events/search/get_event_search_200.json | 5 + 10 files changed, 175 insertions(+), 61 deletions(-) create mode 100644 .changeset/device-details-signal.md create mode 100644 .changeset/sync-koala-v3-schema.md diff --git a/.changeset/device-details-signal.md b/.changeset/device-details-signal.md new file mode 100644 index 00000000..8552a87b --- /dev/null +++ b/.changeset/device-details-signal.md @@ -0,0 +1,5 @@ +--- +'@fingerprint/node-sdk': minor +--- + +**events**: Add `device_details` smart signal to `Event` diff --git a/.changeset/sync-koala-v3-schema.md b/.changeset/sync-koala-v3-schema.md new file mode 100644 index 00000000..6a8d1aea --- /dev/null +++ b/.changeset/sync-koala-v3-schema.md @@ -0,0 +1,5 @@ +--- +'@fingerprint/node-sdk': patch +--- + +Update API v3 error responses, timestamp formats, proxy metadata, and visitor endpoint documentation. Require `Labels.label`, set the default value of `reverse` to `false`, and limit `VisitorsGetResponse.visits` to one item. diff --git a/.schema-version b/.schema-version index ac47b436..ea535dc5 100644 --- a/.schema-version +++ b/.schema-version @@ -1 +1 @@ -v3.7.0 \ No newline at end of file +v3.8.0 \ No newline at end of file diff --git a/resources/fingerprint-server-api.yaml b/resources/fingerprint-server-api.yaml index 3c2626a5..2784ca09 100644 --- a/resources/fingerprint-server-api.yaml +++ b/resources/fingerprint-server-api.yaml @@ -61,7 +61,7 @@ paths: example: 1708102555327.NLOjmg description: >- The unique - [identifier](https://docs.fingerprint.com/reference/js-agent-v4-get-function#event_id) + [identifier](https://docs.fingerprint.com/reference/js-agent-get-function#event_id) of each identification request (`requestId` can be used in its place). - name: ruleset_id @@ -86,7 +86,7 @@ paths: schema: $ref: '#/components/schemas/Event' '400': - description: Bad request. The event Id provided is not valid. + description: Bad request. The event ID provided is not valid. content: application/json: schema: @@ -98,7 +98,7 @@ paths: schema: $ref: '#/components/schemas/ErrorResponse' '404': - description: Not found. The event Id cannot be found in this workspace's data. + description: Not found. The event ID cannot be found in this workspace's data. content: application/json: schema: @@ -165,7 +165,7 @@ paths: example: 1708102555327.NLOjmg description: >- The unique event - [identifier](https://docs.fingerprint.com/reference/js-agent-v4-get-function#event_id). + [identifier](https://docs.fingerprint.com/reference/js-agent-get-function#event_id). requestBody: required: true content: @@ -188,7 +188,7 @@ paths: schema: $ref: '#/components/schemas/ErrorResponse' '404': - description: Not found. The event Id cannot be found in this workspace's data. + description: Not found. The event ID cannot be found in this workspace's data. content: application/json: schema: @@ -317,7 +317,7 @@ paths: example: Ibk1527CUFmcnjLwIs4A9 description: > Unique [visitor - identifier](https://docs.fingerprint.com/reference/js-agent-v4-get-function#visitor_id) + identifier](https://docs.fingerprint.com/reference/js-agent-get-function#visitor_id) issued by Fingerprint Identification and all active Smart Signals. @@ -492,9 +492,9 @@ paths: You can use [linked - Ids](https://docs.fingerprint.com/reference/js-agent-v4-get-function#linkedid) + IDs](https://docs.fingerprint.com/reference/js-agent-get-function#linkedid) to associate identification requests with your own identifier, for - example, session Id, purchase Id, or transaction Id. You can then + example, session ID, purchase ID, or transaction ID. You can then use this `linked_id` parameter to retrieve all events associated with your custom identifier. - name: url @@ -1110,7 +1110,7 @@ paths: example: Ibk1527CUFmcnjLwIs4A9 description: >- The [visitor - ID](https://docs.fingerprint.com/reference/js-agent-v4-get-function#visitor_id) + ID](https://docs.fingerprint.com/reference/js-agent-get-function#visitor_id) you want to delete. responses: '200': @@ -1155,7 +1155,7 @@ components: type: string examples: - somelinkedId - description: A customer-provided id that was sent with the request. + description: A customer-provided ID that was sent with the request. Tags: type: object description: >- @@ -1709,13 +1709,13 @@ components: type: string examples: - ae_47abaca3db2c7c43 - description: Environment Id of the event. + description: Environment ID of the event. Suspect: type: boolean description: >- Field is `true` if you have previously set the `suspect` flag for this event using the [Server API Update event - endpoint](https://docs.fingerprint.com/reference/server-api-v4-update-event). + endpoint](https://docs.fingerprint.com/reference/server-api-update-event). Integration: type: object required: [] @@ -1894,7 +1894,7 @@ components: examples: - com.foo.app description: > - Bundle Id of the iOS application integrated with the Fingerprint SDK for + Bundle ID of the iOS application integrated with the Fingerprint SDK for the event. PackageName: type: string @@ -2065,6 +2065,48 @@ components: 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: > @@ -2416,7 +2458,7 @@ components: type: object description: > Is absent if the velocity data could not be generated for the visitor - Id. + ID. required: - 5_minutes - 1_hour @@ -2451,21 +2493,21 @@ components: intervals: 5 minutes, 1 hour, and 24 hours as follows: - - Number of distinct IP addresses associated to the visitor Id. + - Number of distinct IP addresses associated to the visitor ID. - - Number of distinct linked Ids associated with the visitor Id. + - Number of distinct linked IDs associated with the visitor ID. - - Number of distinct countries associated with the visitor Id. + - Number of distinct countries associated with the visitor ID. - - Number of identification events associated with the visitor Id. + - Number of identification events associated with the visitor ID. - Number of identification events associated with the detected IP address. - Number of distinct IP addresses associated with the provided linked - Id. + ID. - - Number of distinct visitor Ids associated with the provided linked Id. + - Number of distinct visitor IDs associated with the provided linked ID. The `24_hours` interval of `distinct_ip`, `distinct_linked_id`, @@ -2474,7 +2516,7 @@ components: `distinct_ip_by_linked_id` and `distinct_visitor_id_by_linked_id` will be omitted - if the number of `events` for the visitor Id in the last 24 + if the number of `events` for the visitor ID in the last 24 hours (`events.['24_hours']`) is higher than 20.000. @@ -3066,6 +3108,7 @@ components: type: string examples: - automation_tool + description: Customer-facing label name defined by the customer. prediction: type: boolean ml_score: @@ -3075,6 +3118,7 @@ components: - 0.95 minimum: 0 maximum: 1 + description: Raw model score between 0 and 1. description: > Each label returns a prediction (true or false) for a specific use case (label field) based on a machine learning score. The machine learning @@ -3248,6 +3292,11 @@ components: - browser - android - ios + device_details: + $ref: '#/components/schemas/DeviceDetails' + x-platforms: + - android + - ios emulator: $ref: '#/components/schemas/Emulator' x-platforms: @@ -3399,6 +3448,7 @@ components: x-platforms: - android - ios + - browser vpn_methods: $ref: '#/components/schemas/VpnMethods' x-platforms: diff --git a/src/generatedApiTypes.ts b/src/generatedApiTypes.ts index 5134e088..8cda28ae 100644 --- a/src/generatedApiTypes.ts +++ b/src/generatedApiTypes.ts @@ -129,7 +129,7 @@ export type webhooks = Record export interface components { schemas: { /** - * @description A customer-provided id that was sent with the request. + * @description A customer-provided ID that was sent with the request. * @example somelinkedId */ LinkedId: string @@ -507,11 +507,11 @@ export interface components { */ IncrementalIdentificationStatus: 'partially_completed' | 'completed' /** - * @description Environment Id of the event. + * @description Environment ID of the event. * @example ae_47abaca3db2c7c43 */ EnvironmentId: string - /** @description Field is `true` if you have previously set the `suspect` flag for this event using the [Server API Update event endpoint](https://docs.fingerprint.com/reference/server-api-v4-update-event). */ + /** @description Field is `true` if you have previously set the `suspect` flag for this event using the [Server API Update event endpoint](https://docs.fingerprint.com/reference/server-api-update-event). */ Suspect: boolean Integration: { /** @@ -617,7 +617,7 @@ export interface components { last_seen_at?: number } /** - * @description Bundle Id of the iOS application integrated with the Fingerprint SDK for the event. + * @description Bundle ID of the iOS application integrated with the Fingerprint SDK for the event. * @example com.foo.app */ BundleId: string @@ -721,6 +721,29 @@ export interface components { ClonedApp: boolean /** @description `true` if the browser has DevTools open (Chrome, Firefox) or the Android/iOS device has Developer Tools enabled, `false` otherwise. */ DeveloperTools: boolean + /** @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. */ + DeviceDetails: { + /** + * @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. + * @example samsung + * @example Apple + */ + device_manufacturer?: string + /** + * @description Raw device model identifier, as reported by the mobile OS. + * @example SM-G991U + * @example iPhone14,5 + */ + device_model?: string + /** + * @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. + * @example 9 + * @example 16.1 + * @example 8.1.0 + * @example 17.4.1 + */ + os_version?: string + } /** * @description Android specific emulator detection. There are 2 values: * * `true` - Emulated environment detected (e.g. launch inside of AVD). @@ -918,7 +941,7 @@ export interface components { */ anti_detect_browser?: boolean } - /** @description Is absent if the velocity data could not be generated for the visitor Id. */ + /** @description Is absent if the velocity data could not be generated for the visitor ID. */ VelocityData: { /** * @description Count for the last 5 minutes of velocity data, from the time of the event. @@ -940,36 +963,36 @@ export interface components { * @description Sums key data points for a specific `visitor_id`, `ip_address` and `linked_id` at three distinct time * intervals: 5 minutes, 1 hour, and 24 hours as follows: * - * - Number of distinct IP addresses associated to the visitor Id. - * - Number of distinct linked Ids associated with the visitor Id. - * - Number of distinct countries associated with the visitor Id. - * - Number of identification events associated with the visitor Id. + * - Number of distinct IP addresses associated to the visitor ID. + * - Number of distinct linked IDs associated with the visitor ID. + * - Number of distinct countries associated with the visitor ID. + * - Number of identification events associated with the visitor ID. * - Number of identification events associated with the detected IP address. - * - Number of distinct IP addresses associated with the provided linked Id. - * - Number of distinct visitor Ids associated with the provided linked Id. + * - Number of distinct IP addresses associated with the provided linked ID. + * - Number of distinct visitor IDs associated with the provided linked ID. * * The `24_hours` interval of `distinct_ip`, `distinct_linked_id`, `distinct_country`, * `distinct_ip_by_linked_id` and `distinct_visitor_id_by_linked_id` will be omitted - * if the number of `events` for the visitor Id in the last 24 + * if the number of `events` for the visitor ID in the last 24 * hours (`events.['24_hours']`) is higher than 20.000. * * All will not necessarily be returned in a response, some may be omitted if the * associated event does not have the required data, such as a linked_id. */ Velocity: { - /** @description Is absent if the velocity data could not be generated for the visitor Id. */ + /** @description Is absent if the velocity data could not be generated for the visitor ID. */ distinct_ip?: components['schemas']['VelocityData'] - /** @description Is absent if the velocity data could not be generated for the visitor Id. */ + /** @description Is absent if the velocity data could not be generated for the visitor ID. */ distinct_linked_id?: components['schemas']['VelocityData'] - /** @description Is absent if the velocity data could not be generated for the visitor Id. */ + /** @description Is absent if the velocity data could not be generated for the visitor ID. */ distinct_country?: components['schemas']['VelocityData'] - /** @description Is absent if the velocity data could not be generated for the visitor Id. */ + /** @description Is absent if the velocity data could not be generated for the visitor ID. */ events?: components['schemas']['VelocityData'] - /** @description Is absent if the velocity data could not be generated for the visitor Id. */ + /** @description Is absent if the velocity data could not be generated for the visitor ID. */ ip_events?: components['schemas']['VelocityData'] - /** @description Is absent if the velocity data could not be generated for the visitor Id. */ + /** @description Is absent if the velocity data could not be generated for the visitor ID. */ distinct_ip_by_linked_id?: components['schemas']['VelocityData'] - /** @description Is absent if the velocity data could not be generated for the visitor Id. */ + /** @description Is absent if the velocity data could not be generated for the visitor ID. */ distinct_visitor_id_by_linked_id?: components['schemas']['VelocityData'] } /** @description `true` if the request came from a browser running inside a virtual machine (e.g. VMWare), `false` otherwise. */ @@ -1376,11 +1399,15 @@ export interface components { } /** @description Each label returns a prediction (true or false) for a specific use case (label field) based on a machine learning score. The machine learning score is determined by a model trained on customer data for that use case. This field is in the beta phase and only available to select customers. If you are interested, please [contact our support team](https://fingerprint.com/support/). */ Labels: { - /** @example automation_tool */ + /** + * @description Customer-facing label name defined by the customer. + * @example automation_tool + */ label: string prediction?: boolean /** * Format: double + * @description Raw model score between 0 and 1. * @example 0.95 */ ml_score?: number @@ -1403,11 +1430,11 @@ export interface components { * - `completed` - Indicates this event corresponds to a 'complete' request. Smart Signals, if included in your plan, are computed; hence, their values are valid and relevant. */ incremental_identification_status?: components['schemas']['IncrementalIdentificationStatus'] - /** @description A customer-provided id that was sent with the request. */ + /** @description A customer-provided ID that was sent with the request. */ linked_id?: components['schemas']['LinkedId'] - /** @description Environment Id of the event. */ + /** @description Environment ID of the event. */ environment_id?: components['schemas']['EnvironmentId'] - /** @description Field is `true` if you have previously set the `suspect` flag for this event using the [Server API Update event endpoint](https://docs.fingerprint.com/reference/server-api-v4-update-event). */ + /** @description Field is `true` if you have previously set the `suspect` flag for this event using the [Server API Update event endpoint](https://docs.fingerprint.com/reference/server-api-update-event). */ suspect?: components['schemas']['Suspect'] /** @description Contains information about the SDK used to perform the request. */ sdk?: components['schemas']['SDK'] @@ -1420,7 +1447,7 @@ export interface components { tags?: components['schemas']['Tags'] /** @description Page URL from which the request was sent. */ url?: components['schemas']['Url'] - /** @description Bundle Id of the iOS application integrated with the Fingerprint SDK for the event. */ + /** @description Bundle ID of the iOS application integrated with the Fingerprint SDK for the event. */ bundle_id?: components['schemas']['BundleId'] /** @description Package name of the Android application integrated with the Fingerprint SDK for the event. */ package_name?: components['schemas']['PackageName'] @@ -1460,6 +1487,8 @@ export interface components { cloned_app?: components['schemas']['ClonedApp'] /** @description `true` if the browser has DevTools open (Chrome, Firefox) or the Android/iOS device has Developer Tools enabled, `false` otherwise. */ developer_tools?: components['schemas']['DeveloperTools'] + /** @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. */ + device_details?: components['schemas']['DeviceDetails'] /** * @description Android specific emulator detection. There are 2 values: * * `true` - Emulated environment detected (e.g. launch inside of AVD). @@ -1543,17 +1572,17 @@ export interface components { * @description Sums key data points for a specific `visitor_id`, `ip_address` and `linked_id` at three distinct time * intervals: 5 minutes, 1 hour, and 24 hours as follows: * - * - Number of distinct IP addresses associated to the visitor Id. - * - Number of distinct linked Ids associated with the visitor Id. - * - Number of distinct countries associated with the visitor Id. - * - Number of identification events associated with the visitor Id. + * - Number of distinct IP addresses associated to the visitor ID. + * - Number of distinct linked IDs associated with the visitor ID. + * - Number of distinct countries associated with the visitor ID. + * - Number of identification events associated with the visitor ID. * - Number of identification events associated with the detected IP address. - * - Number of distinct IP addresses associated with the provided linked Id. - * - Number of distinct visitor Ids associated with the provided linked Id. + * - Number of distinct IP addresses associated with the provided linked ID. + * - Number of distinct visitor IDs associated with the provided linked ID. * * The `24_hours` interval of `distinct_ip`, `distinct_linked_id`, `distinct_country`, * `distinct_ip_by_linked_id` and `distinct_visitor_id_by_linked_id` will be omitted - * if the number of `events` for the visitor Id in the last 24 + * if the number of `events` for the visitor ID in the last 24 * hours (`events.['24_hours']`) is higher than 20.000. * * All will not necessarily be returned in a response, some may be omitted if the @@ -1696,7 +1725,7 @@ export interface operations { header?: never path: { /** - * @description The unique [identifier](https://docs.fingerprint.com/reference/js-agent-v4-get-function#event_id) of each identification request (`requestId` can be used in its place). + * @description The unique [identifier](https://docs.fingerprint.com/reference/js-agent-get-function#event_id) of each identification request (`requestId` can be used in its place). * @example 1708102555327.NLOjmg */ event_id: string @@ -1714,7 +1743,7 @@ export interface operations { 'application/json': components['schemas']['Event'] } } - /** @description Bad request. The event Id provided is not valid. */ + /** @description Bad request. The event ID provided is not valid. */ 400: { headers: { [name: string]: unknown @@ -1732,7 +1761,7 @@ export interface operations { 'application/json': components['schemas']['ErrorResponse'] } } - /** @description Not found. The event Id cannot be found in this workspace's data. */ + /** @description Not found. The event ID cannot be found in this workspace's data. */ 404: { headers: { [name: string]: unknown @@ -1779,7 +1808,7 @@ export interface operations { header?: never path: { /** - * @description The unique event [identifier](https://docs.fingerprint.com/reference/js-agent-v4-get-function#event_id). + * @description The unique event [identifier](https://docs.fingerprint.com/reference/js-agent-get-function#event_id). * @example 1708102555327.NLOjmg */ event_id: string @@ -1817,7 +1846,7 @@ export interface operations { 'application/json': components['schemas']['ErrorResponse'] } } - /** @description Not found. The event Id cannot be found in this workspace's data. */ + /** @description Not found. The event ID cannot be found in this workspace's data. */ 404: { headers: { [name: string]: unknown @@ -1856,7 +1885,7 @@ export interface operations { */ pagination_key?: string /** - * @description Unique [visitor identifier](https://docs.fingerprint.com/reference/js-agent-v4-get-function#visitor_id) issued by Fingerprint Identification and all active Smart Signals. + * @description Unique [visitor identifier](https://docs.fingerprint.com/reference/js-agent-get-function#visitor_id) issued by Fingerprint Identification and all active Smart Signals. * * Filter events by matching Visitor ID (`identification.visitor_id` property). * @example Ibk1527CUFmcnjLwIs4A9 @@ -1931,7 +1960,7 @@ export interface operations { /** * @description Filter events by your custom identifier. * - * You can use [linked Ids](https://docs.fingerprint.com/reference/js-agent-v4-get-function#linkedid) to associate identification requests with your own identifier, for example, session Id, purchase Id, or transaction Id. You can then use this `linked_id` parameter to retrieve all events associated with your custom identifier. + * You can use [linked IDs](https://docs.fingerprint.com/reference/js-agent-get-function#linkedid) to associate identification requests with your own identifier, for example, session ID, purchase ID, or transaction ID. You can then use this `linked_id` parameter to retrieve all events associated with your custom identifier. * @example somelinkedId */ linked_id?: string @@ -2225,7 +2254,7 @@ export interface operations { header?: never path: { /** - * @description The [visitor ID](https://docs.fingerprint.com/reference/js-agent-v4-get-function#visitor_id) you want to delete. + * @description The [visitor ID](https://docs.fingerprint.com/reference/js-agent-get-function#visitor_id) you want to delete. * @example Ibk1527CUFmcnjLwIs4A9 */ visitor_id: string diff --git a/tests/mocked-responses-tests/mocked-responses-data/events/get_event_200.json b/tests/mocked-responses-tests/mocked-responses-data/events/get_event_200.json index 72f12f44..e3446c04 100644 --- a/tests/mocked-responses-tests/mocked-responses-data/events/get_event_200.json +++ b/tests/mocked-responses-tests/mocked-responses-data/events/get_event_200.json @@ -185,6 +185,11 @@ } }, "developer_tools": false, + "device_details": { + "device_manufacturer": "samsung", + "device_model": "SM-G991U", + "os_version": "13" + }, "mitm_attack": false, "sdk": { "platform": "js", diff --git a/tests/mocked-responses-tests/mocked-responses-data/events/get_event_200_with_unknown_field.json b/tests/mocked-responses-tests/mocked-responses-data/events/get_event_200_with_unknown_field.json index e6712e39..39bc6324 100644 --- a/tests/mocked-responses-tests/mocked-responses-data/events/get_event_200_with_unknown_field.json +++ b/tests/mocked-responses-tests/mocked-responses-data/events/get_event_200_with_unknown_field.json @@ -186,6 +186,11 @@ } }, "developer_tools": false, + "device_details": { + "device_manufacturer": "samsung", + "device_model": "SM-G991U", + "os_version": "13" + }, "mitm_attack": false, "sdk": { "platform": "js", diff --git a/tests/mocked-responses-tests/mocked-responses-data/events/get_event_ruleset_200.json b/tests/mocked-responses-tests/mocked-responses-data/events/get_event_ruleset_200.json index f775f7d9..94863ac3 100644 --- a/tests/mocked-responses-tests/mocked-responses-data/events/get_event_ruleset_200.json +++ b/tests/mocked-responses-tests/mocked-responses-data/events/get_event_ruleset_200.json @@ -185,6 +185,11 @@ } }, "developer_tools": false, + "device_details": { + "device_manufacturer": "samsung", + "device_model": "SM-G991U", + "os_version": "13" + }, "mitm_attack": false, "sdk": { "platform": "js", diff --git a/tests/mocked-responses-tests/mocked-responses-data/events/get_event_with_bot_info_200.json b/tests/mocked-responses-tests/mocked-responses-data/events/get_event_with_bot_info_200.json index 98ca7d5c..c346afff 100644 --- a/tests/mocked-responses-tests/mocked-responses-data/events/get_event_with_bot_info_200.json +++ b/tests/mocked-responses-tests/mocked-responses-data/events/get_event_with_bot_info_200.json @@ -191,6 +191,11 @@ } }, "developer_tools": false, + "device_details": { + "device_manufacturer": "samsung", + "device_model": "SM-G991U", + "os_version": "13" + }, "mitm_attack": false, "sdk": { "platform": "js", diff --git a/tests/mocked-responses-tests/mocked-responses-data/events/search/get_event_search_200.json b/tests/mocked-responses-tests/mocked-responses-data/events/search/get_event_search_200.json index 8e9dbdc8..5729c37d 100644 --- a/tests/mocked-responses-tests/mocked-responses-data/events/search/get_event_search_200.json +++ b/tests/mocked-responses-tests/mocked-responses-data/events/search/get_event_search_200.json @@ -187,6 +187,11 @@ } }, "developer_tools": false, + "device_details": { + "device_manufacturer": "samsung", + "device_model": "SM-G991U", + "os_version": "13" + }, "mitm_attack": false, "sdk": { "platform": "js", From 68eb49f370899f93a66c76dd37eb48ff918b7bfb Mon Sep 17 00:00:00 2001 From: Dan McNulty Date: Fri, 25 Sep 2026 13:41:00 -0500 Subject: [PATCH 2/2] chore: clean up changeset --- .changeset/sync-koala-v3-schema.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/sync-koala-v3-schema.md b/.changeset/sync-koala-v3-schema.md index 6a8d1aea..b68387bd 100644 --- a/.changeset/sync-koala-v3-schema.md +++ b/.changeset/sync-koala-v3-schema.md @@ -2,4 +2,4 @@ '@fingerprint/node-sdk': patch --- -Update API v3 error responses, timestamp formats, proxy metadata, and visitor endpoint documentation. Require `Labels.label`, set the default value of `reverse` to `false`, and limit `VisitorsGetResponse.visits` to one item. +**events**: Fix descriptions to use ID rather than Id. Clarify descriptions for Labels. \ No newline at end of file