Skip to content

INTER-1795: Update sync to use Server API v4#159

Open
erayaydin wants to merge 7 commits intointer-1794-rename-repositoryfrom
inter-1795-sync-script-server-api-v4
Open

INTER-1795: Update sync to use Server API v4#159
erayaydin wants to merge 7 commits intointer-1794-rename-repositoryfrom
inter-1795-sync-script-server-api-v4

Conversation

@erayaydin
Copy link
Member

@erayaydin erayaydin commented Feb 3, 2026

Summary

Update sync script to fetch Server API v4 schema and examples instead of v3.

Note

Tests and template consistency checks are expected to fail. These will be updated with the migration to openapi-generator.

Changes

  • Use fingerprint-server-api-v4.yaml schema url
  • Update example list with v4 folder structure (events/, errors/, webhook/)
  • Rename token references to secret_api_key (example file name)
  • Remove deprecated v3-only mocks

Add strict error handling, retry logic, and reduce code duplication.

Related-Task: INTER-1793
Update sync script to fetch v4 schema and examples. Removes
deprecated v3-only mocks.

Related-Task: INTER-1795
@erayaydin erayaydin self-assigned this Feb 3, 2026
@github-actions
Copy link
Contributor

github-actions bot commented Feb 3, 2026

⚠️ Template files and generated files are not in-sync.

Following files do not match corresponding templates:
docs/Botd.md docs/BotdBot.md docs/BotdBotResult.md docs/BrowserDetails.md docs/ClonedApp.md docs/DeprecatedGeolocation.md docs/DeveloperTools.md docs/Emulator.md docs/Error.md docs/ErrorCode.md docs/ErrorPlainResponse.md docs/ErrorResponse.md docs/EventsGetResponse.md docs/EventsUpdateRequest.md docs/FactoryReset.md docs/FingerprintApi.md docs/Frida.md docs/Geolocation.md docs/GeolocationCity.md docs/GeolocationContinent.md docs/GeolocationCountry.md docs/GeolocationSubdivision.md docs/GeolocationSubdivisions.md docs/HighActivity.md docs/IPBlocklist.md docs/IPBlocklistDetails.md docs/IPInfo.md docs/IPInfoASN.md docs/IPInfoDataCenter.md docs/IPInfoV4.md docs/IPInfoV6.md docs/Identification.md docs/IdentificationConfidence.md docs/IdentificationSeenAt.md docs/Incognito.md docs/Jailbroken.md docs/LocationSpoofing.md docs/MitMAttack.md docs/PrivacySettings.md docs/ProductBotd.md docs/ProductClonedApp.md docs/ProductDeveloperTools.md docs/ProductEmulator.md docs/ProductFactoryReset.md docs/ProductFrida.md docs/ProductHighActivity.md docs/ProductIPBlocklist.md docs/ProductIPInfo.md docs/ProductIdentification.md docs/ProductIncognito.md docs/ProductJailbroken.md docs/ProductLocationSpoofing.md docs/ProductMitMAttack.md docs/ProductPrivacySettings.md docs/ProductProximity.md docs/ProductProxy.md docs/ProductRawDeviceAttributes.md docs/ProductRemoteControl.md docs/ProductRootApps.md docs/ProductSuspectScore.md docs/ProductTampering.md docs/ProductTor.md docs/ProductVPN.md docs/ProductVelocity.md docs/ProductVirtualMachine.md docs/Products.md docs/Proximity.md docs/Proxy.md docs/ProxyConfidence.md docs/ProxyDetails.md docs/RawDeviceAttribute.md docs/RawDeviceAttributeError.md docs/RawDeviceAttributes.md docs/RelatedVisitor.md docs/RelatedVisitorsResponse.md docs/RemoteControl.md docs/RootApps.md docs/SDK.md docs/SearchEventsResponse.md docs/SearchEventsResponseEvents.md docs/SupplementaryID.md docs/SuspectScore.md docs/Tag.md docs/Tampering.md docs/Tor.md docs/VPN.md docs/VPNConfidence.md docs/VPNMethods.md docs/Velocity.md docs/VelocityData.md docs/VelocityIntervals.md docs/VirtualMachine.md docs/Visit.md docs/VisitorsGetResponse.md docs/Webhook.md docs/WebhookClonedApp.md docs/WebhookDeveloperTools.md docs/WebhookEmulator.md docs/WebhookFactoryReset.md docs/WebhookFrida.md docs/WebhookHighActivity.md docs/WebhookIPBlocklist.md docs/WebhookIPInfo.md docs/WebhookJailbroken.md docs/WebhookLocationSpoofing.md docs/WebhookMitMAttack.md docs/WebhookPrivacySettings.md docs/WebhookProximity.md docs/WebhookProxy.md docs/WebhookRawDeviceAttributes.md docs/WebhookRemoteControl.md docs/WebhookRootApps.md docs/WebhookSupplementaryIDs.md docs/WebhookSuspectScore.md docs/WebhookTampering.md docs/WebhookTor.md docs/WebhookVPN.md docs/WebhookVelocity.md docs/WebhookVirtualMachine.md fingerprint_server_sdk/models/__init__.py fingerprint_server_sdk/models/botd.py fingerprint_server_sdk/models/botd_bot.py fingerprint_server_sdk/models/botd_bot_result.py fingerprint_server_sdk/models/browser_details.py fingerprint_server_sdk/models/cloned_app.py fingerprint_server_sdk/models/deprecated_geolocation.py fingerprint_server_sdk/models/developer_tools.py fingerprint_server_sdk/models/emulator.py fingerprint_server_sdk/models/error.py fingerprint_server_sdk/models/error_code.py fingerprint_server_sdk/models/error_response.py fingerprint_server_sdk/models/events_get_response.py fingerprint_server_sdk/models/events_update_request.py fingerprint_server_sdk/models/factory_reset.py fingerprint_server_sdk/models/frida.py fingerprint_server_sdk/models/geolocation.py fingerprint_server_sdk/models/geolocation_city.py fingerprint_server_sdk/models/geolocation_continent.py fingerprint_server_sdk/models/geolocation_country.py fingerprint_server_sdk/models/geolocation_subdivision.py fingerprint_server_sdk/models/geolocation_subdivisions.py fingerprint_server_sdk/models/high_activity.py fingerprint_server_sdk/models/identification.py fingerprint_server_sdk/models/identification_confidence.py fingerprint_server_sdk/models/identification_seen_at.py fingerprint_server_sdk/models/incognito.py fingerprint_server_sdk/models/ip_blocklist.py fingerprint_server_sdk/models/ip_blocklist_details.py fingerprint_server_sdk/models/ip_info.py fingerprint_server_sdk/models/ip_info_asn.py fingerprint_server_sdk/models/ip_info_data_center.py fingerprint_server_sdk/models/ip_info_v4.py fingerprint_server_sdk/models/ip_info_v6.py fingerprint_server_sdk/models/jailbroken.py fingerprint_server_sdk/models/location_spoofing.py fingerprint_server_sdk/models/mit_m_attack.py fingerprint_server_sdk/models/privacy_settings.py fingerprint_server_sdk/models/product_botd.py fingerprint_server_sdk/models/product_cloned_app.py fingerprint_server_sdk/models/product_developer_tools.py fingerprint_server_sdk/models/product_emulator.py fingerprint_server_sdk/models/product_factory_reset.py fingerprint_server_sdk/models/product_frida.py fingerprint_server_sdk/models/product_high_activity.py fingerprint_server_sdk/models/product_identification.py fingerprint_server_sdk/models/product_incognito.py fingerprint_server_sdk/models/product_ip_blocklist.py fingerprint_server_sdk/models/product_ip_info.py fingerprint_server_sdk/models/product_jailbroken.py fingerprint_server_sdk/models/product_location_spoofing.py fingerprint_server_sdk/models/product_mit_m_attack.py fingerprint_server_sdk/models/product_privacy_settings.py fingerprint_server_sdk/models/product_proximity.py fingerprint_server_sdk/models/product_proxy.py fingerprint_server_sdk/models/product_raw_device_attributes.py fingerprint_server_sdk/models/product_remote_control.py fingerprint_server_sdk/models/product_root_apps.py fingerprint_server_sdk/models/product_suspect_score.py fingerprint_server_sdk/models/product_tampering.py fingerprint_server_sdk/models/product_tor.py fingerprint_server_sdk/models/product_velocity.py fingerprint_server_sdk/models/product_virtual_machine.py fingerprint_server_sdk/models/product_vpn.py fingerprint_server_sdk/models/products.py fingerprint_server_sdk/models/proximity.py fingerprint_server_sdk/models/proxy.py fingerprint_server_sdk/models/proxy_confidence.py fingerprint_server_sdk/models/proxy_details.py fingerprint_server_sdk/models/raw_device_attribute.py fingerprint_server_sdk/models/raw_device_attribute_error.py fingerprint_server_sdk/models/raw_device_attributes.py fingerprint_server_sdk/models/related_visitor.py fingerprint_server_sdk/models/related_visitors_response.py fingerprint_server_sdk/models/remote_control.py fingerprint_server_sdk/models/root_apps.py fingerprint_server_sdk/models/sdk.py fingerprint_server_sdk/models/search_events_response.py fingerprint_server_sdk/models/search_events_response_events.py fingerprint_server_sdk/models/supplementary_id.py fingerprint_server_sdk/models/suspect_score.py fingerprint_server_sdk/models/tag.py fingerprint_server_sdk/models/tampering.py fingerprint_server_sdk/models/tor.py fingerprint_server_sdk/models/velocity.py fingerprint_server_sdk/models/velocity_data.py fingerprint_server_sdk/models/velocity_intervals.py fingerprint_server_sdk/models/virtual_machine.py fingerprint_server_sdk/models/visit.py fingerprint_server_sdk/models/visitors_get_response.py fingerprint_server_sdk/models/vpn.py fingerprint_server_sdk/models/vpn_confidence.py fingerprint_server_sdk/models/vpn_methods.py fingerprint_server_sdk/models/webhook.py fingerprint_server_sdk/models/webhook_cloned_app.py fingerprint_server_sdk/models/webhook_developer_tools.py fingerprint_server_sdk/models/webhook_emulator.py fingerprint_server_sdk/models/webhook_factory_reset.py fingerprint_server_sdk/models/webhook_frida.py fingerprint_server_sdk/models/webhook_high_activity.py fingerprint_server_sdk/models/webhook_ip_blocklist.py fingerprint_server_sdk/models/webhook_ip_info.py fingerprint_server_sdk/models/webhook_jailbroken.py fingerprint_server_sdk/models/webhook_location_spoofing.py fingerprint_server_sdk/models/webhook_mit_m_attack.py fingerprint_server_sdk/models/webhook_privacy_settings.py fingerprint_server_sdk/models/webhook_proximity.py fingerprint_server_sdk/models/webhook_proxy.py fingerprint_server_sdk/models/webhook_raw_device_attributes.py fingerprint_server_sdk/models/webhook_remote_control.py fingerprint_server_sdk/models/webhook_root_apps.py fingerprint_server_sdk/models/webhook_supplementary_i_ds.py fingerprint_server_sdk/models/webhook_suspect_score.py fingerprint_server_sdk/models/webhook_tampering.py fingerprint_server_sdk/models/webhook_tor.py fingerprint_server_sdk/models/webhook_velocity.py fingerprint_server_sdk/models/webhook_virtual_machine.py fingerprint_server_sdk/models/webhook_vpn.py

To fix this warning, make sure template files are up-to-date, and generate files by running the following command:

bash ./generate.sh

Update `.schema-version` tracked OpenAPI schema version to `v3.0.1`.

Related-Task: INTER-1795
@erayaydin erayaydin marked this pull request as ready for review February 10, 2026 13:57
@erayaydin
Copy link
Member Author

Switched to the normalized version of the OpenAPI schema due to an issue with oneOf validation of EventRuleAction.

ValueError: Multiple matches found when deserializing the JSON string into EventRuleAction with oneOf schemas: EventRuleActionAllow, EventRuleActionBlock.

@github-actions
Copy link
Contributor

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

@fingerprint/python-sdk@9.0.0

Major Changes

  • Changed library name to fingerprint_server_sdk

    BREAKING CHANGE:

    • You need to change package name to fingerprint_server_sdk.

    MIGRATION_GUIDE:

    Replace imports to new name:

    - import fingerprint_pro_server_api_sdk
    + import fingerprint_server_sdk

    If you are using docker compose file, please re-build the SDK. (1f8ea14)

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.

2 participants

Comments