diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 4208b5cb..1b77f506 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.6.0" + ".": "0.7.0" } \ No newline at end of file diff --git a/.stats.yml b/.stats.yml index 408b5808..b57e87a9 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 19 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/prelude/prelude-bceac2d798eb515f8fd14406ac6f50de2aa983a3674cecb63167c0d0d52cfbc9.yml -openapi_spec_hash: b9963276e8c0178b0c45bf2ea07f63fb +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/prelude/prelude-86fc45f417e6468f6a6087f9e35b264b0a350e31385bc078a2027a1f1abd1d15.yml +openapi_spec_hash: fb72aba38ec55a3b6b5162c9f5b4228d config_hash: 3dbe79c14ecd9a153418249f9155d159 diff --git a/CHANGELOG.md b/CHANGELOG.md index 8f1952b0..6dd512bc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,20 @@ # Changelog +## 0.7.0 (2026-09-15) + +Full Changelog: [v0.6.0...v0.7.0](https://github.com/prelude-so/ruby-sdk/compare/v0.6.0...v0.7.0) + +### Features + +* **api:** api update ([ed39fec](https://github.com/prelude-so/ruby-sdk/commit/ed39fece4f1d8838d68d7596ab587b4aba76a14a)) +* **api:** api update ([00dcf41](https://github.com/prelude-so/ruby-sdk/commit/00dcf41dcc28fe76ec0a112169c6d01da9937a53)) +* **api:** api update ([ebb1d68](https://github.com/prelude-so/ruby-sdk/commit/ebb1d682d35d4fc0f6a403aa06b903481ccae8fe)) + + +### Chores + +* **internal:** allow the mock server port to be set with STAINLESS_MOCK_PORT ([2c5f32b](https://github.com/prelude-so/ruby-sdk/commit/2c5f32b48b0859861875e96aceb3530daf400015)) + ## 0.6.0 (2026-08-07) Full Changelog: [v0.5.0...v0.6.0](https://github.com/prelude-so/ruby-sdk/compare/v0.5.0...v0.6.0) diff --git a/Gemfile.lock b/Gemfile.lock index 05b0644c..887b95cc 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -11,7 +11,7 @@ GIT PATH remote: . specs: - prelude-sdk (0.6.0) + prelude-sdk (0.7.0) cgi connection_pool diff --git a/README.md b/README.md index 792c57b6..13139161 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ To use this gem, install via Bundler by adding the following to your application ```ruby -gem "prelude-sdk", "~> 0.6.0" +gem "prelude-sdk", "~> 0.7.0" ``` diff --git a/lib/prelude_sdk/models/verification_create_params.rb b/lib/prelude_sdk/models/verification_create_params.rb index f892af69..b5a9d437 100644 --- a/lib/prelude_sdk/models/verification_create_params.rb +++ b/lib/prelude_sdk/models/verification_create_params.rb @@ -405,6 +405,16 @@ class Signals < PreludeSDK::Internal::Type::BaseModel # @return [Symbol, PreludeSDK::Models::VerificationCreateParams::Signals::DevicePlatform, nil] optional :device_platform, enum: -> { PreludeSDK::VerificationCreateParams::Signals::DevicePlatform } + # @!attribute existing_user + # Whether the end-user already exists in your system, for example an existing + # account signing in again rather than a first-time signup. Unlike + # `is_trusted_user`, this signal does not bypass fraud checks; it is taken into + # account as one additional anti-fraud signal. For more details, refer to + # [Signals](/verify/v2/documentation/prevent-fraud#signals). + # + # @return [Boolean, nil] + optional :existing_user, PreludeSDK::Internal::Type::Boolean + # @!attribute ip # The public IP v4 or v6 address of the end-user's device. You should collect this # from your backend. If your backend is behind a proxy, use the `X-Forwarded-For`, @@ -444,7 +454,7 @@ class Signals < PreludeSDK::Internal::Type::BaseModel # @return [String, nil] optional :user_agent, String - # @!method initialize(app_version: nil, device_id: nil, device_model: nil, device_platform: nil, ip: nil, is_trusted_user: nil, ja4_fingerprint: nil, os_version: nil, user_agent: nil) + # @!method initialize(app_version: nil, device_id: nil, device_model: nil, device_platform: nil, existing_user: nil, ip: nil, is_trusted_user: nil, ja4_fingerprint: nil, os_version: nil, user_agent: nil) # Some parameter documentations has been truncated, see # {PreludeSDK::Models::VerificationCreateParams::Signals} for more details. # @@ -459,6 +469,8 @@ class Signals < PreludeSDK::Internal::Type::BaseModel # # @param device_platform [Symbol, PreludeSDK::Models::VerificationCreateParams::Signals::DevicePlatform] The type of the user's device. # + # @param existing_user [Boolean] Whether the end-user already exists in your system, for example an existing acco + # # @param ip [String] The public IP v4 or v6 address of the end-user's device. You should collect this # # @param is_trusted_user [Boolean] This signal should indicate a higher level of trust, explicitly stating that the diff --git a/lib/prelude_sdk/models/watch_predict_params.rb b/lib/prelude_sdk/models/watch_predict_params.rb index 93a084ec..b44183cd 100644 --- a/lib/prelude_sdk/models/watch_predict_params.rb +++ b/lib/prelude_sdk/models/watch_predict_params.rb @@ -124,6 +124,16 @@ class Signals < PreludeSDK::Internal::Type::BaseModel # @return [Symbol, PreludeSDK::Models::WatchPredictParams::Signals::DevicePlatform, nil] optional :device_platform, enum: -> { PreludeSDK::WatchPredictParams::Signals::DevicePlatform } + # @!attribute existing_user + # Whether the end-user already exists in your system, for example an existing + # account signing in again rather than a first-time signup. Unlike + # `is_trusted_user`, this signal does not bypass fraud checks; it is taken into + # account as one additional anti-fraud signal. For more details, refer to + # [Signals](/verify/v2/documentation/prevent-fraud#signals). + # + # @return [Boolean, nil] + optional :existing_user, PreludeSDK::Internal::Type::Boolean + # @!attribute ip # The public IP v4 or v6 address of the end-user's device. You should collect this # from your backend. If your backend is behind a proxy, use the `X-Forwarded-For`, @@ -163,7 +173,7 @@ class Signals < PreludeSDK::Internal::Type::BaseModel # @return [String, nil] optional :user_agent, String - # @!method initialize(app_version: nil, device_id: nil, device_model: nil, device_platform: nil, ip: nil, is_trusted_user: nil, ja4_fingerprint: nil, os_version: nil, user_agent: nil) + # @!method initialize(app_version: nil, device_id: nil, device_model: nil, device_platform: nil, existing_user: nil, ip: nil, is_trusted_user: nil, ja4_fingerprint: nil, os_version: nil, user_agent: nil) # Some parameter documentations has been truncated, see # {PreludeSDK::Models::WatchPredictParams::Signals} for more details. # @@ -178,6 +188,8 @@ class Signals < PreludeSDK::Internal::Type::BaseModel # # @param device_platform [Symbol, PreludeSDK::Models::WatchPredictParams::Signals::DevicePlatform] The type of the user's device. # + # @param existing_user [Boolean] Whether the end-user already exists in your system, for example an existing acco + # # @param ip [String] The public IP v4 or v6 address of the end-user's device. You should collect this # # @param is_trusted_user [Boolean] This signal should indicate a higher level of trust, explicitly stating that the diff --git a/lib/prelude_sdk/models/watch_predict_response.rb b/lib/prelude_sdk/models/watch_predict_response.rb index 06126307..8897b971 100644 --- a/lib/prelude_sdk/models/watch_predict_response.rb +++ b/lib/prelude_sdk/models/watch_predict_response.rb @@ -28,6 +28,9 @@ class WatchPredictResponse < PreludeSDK::Internal::Type::BaseModel # when prediction is "suspicious" and the anti-fraud system detected specific risk # signals. # + # - `account_risk_profile` - The target matches a risk profile derived from the + # outcomes reported on your own account, rather than from a signal shared across + # accounts. # - `behavioral_pattern` - The phone number past behavior during verification # flows exhibits suspicious patterns. # - `device_attribute` - The device exhibits characteristics associated with @@ -81,6 +84,7 @@ module Prediction module RiskFactor extend PreludeSDK::Internal::Type::Enum + ACCOUNT_RISK_PROFILE = :account_risk_profile BEHAVIORAL_PATTERN = :behavioral_pattern DEVICE_ATTRIBUTE = :device_attribute FRAUD_DATABASE = :fraud_database diff --git a/lib/prelude_sdk/resources/notify.rb b/lib/prelude_sdk/resources/notify.rb index 57a59c8f..9c57a989 100644 --- a/lib/prelude_sdk/resources/notify.rb +++ b/lib/prelude_sdk/resources/notify.rb @@ -6,6 +6,8 @@ module Resources class Notify # Retrieve a specific subscription management configuration by its ID. # + # In order to get access to this endpoint, contact our support team. + # # @overload get_subscription_config(config_id, request_options: {}) # # @param config_id [String] The subscription configuration ID @@ -27,6 +29,8 @@ def get_subscription_config(config_id, params = {}) # Retrieve the current subscription status for a specific phone number within a # subscription configuration. # + # In order to get access to this endpoint, contact our support team. + # # @overload get_subscription_phone_number(phone_number, config_id:, request_options: {}) # # @param phone_number [String] The phone number in E.164 format (e.g., +33612345678) @@ -58,6 +62,8 @@ def get_subscription_phone_number(phone_number, params) # Each configuration represents a subscription management setup with phone numbers # for receiving opt-out/opt-in requests and a callback URL for webhook events. # + # In order to get access to this endpoint, contact our support team. + # # @overload list_subscription_configs(cursor: nil, limit: nil, request_options: {}) # # @param cursor [String] Pagination cursor from the previous response @@ -86,6 +92,8 @@ def list_subscription_configs(params = {}) # # Events are ordered by timestamp in descending order (most recent first). # + # In order to get access to this endpoint, contact our support team. + # # @overload list_subscription_phone_number_events(phone_number, config_id:, cursor: nil, limit: nil, request_options: {}) # # @param phone_number [String] Path param: The phone number in E.164 format (e.g., +33612345678) @@ -126,6 +134,8 @@ def list_subscription_phone_number_events(phone_number, params) # # You can optionally filter by subscription state (SUB or UNSUB). # + # In order to get access to this endpoint, contact our support team. + # # @overload list_subscription_phone_numbers(config_id, cursor: nil, limit: nil, state: nil, request_options: {}) # # @param config_id [String] The subscription configuration ID diff --git a/lib/prelude_sdk/version.rb b/lib/prelude_sdk/version.rb index c4d97b60..01009cfb 100644 --- a/lib/prelude_sdk/version.rb +++ b/lib/prelude_sdk/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module PreludeSDK - VERSION = "0.6.0" + VERSION = "0.7.0" end diff --git a/rbi/prelude_sdk/models/verification_create_params.rbi b/rbi/prelude_sdk/models/verification_create_params.rbi index 6ede5866..644959a6 100644 --- a/rbi/prelude_sdk/models/verification_create_params.rbi +++ b/rbi/prelude_sdk/models/verification_create_params.rbi @@ -863,6 +863,17 @@ module PreludeSDK end attr_writer :device_platform + # Whether the end-user already exists in your system, for example an existing + # account signing in again rather than a first-time signup. Unlike + # `is_trusted_user`, this signal does not bypass fraud checks; it is taken into + # account as one additional anti-fraud signal. For more details, refer to + # [Signals](/verify/v2/documentation/prevent-fraud#signals). + sig { returns(T.nilable(T::Boolean)) } + attr_reader :existing_user + + sig { params(existing_user: T::Boolean).void } + attr_writer :existing_user + # The public IP v4 or v6 address of the end-user's device. You should collect this # from your backend. If your backend is behind a proxy, use the `X-Forwarded-For`, # `Forwarded`, `True-Client-IP`, `CF-Connecting-IP` or an equivalent header to get @@ -916,6 +927,7 @@ module PreludeSDK device_model: String, device_platform: PreludeSDK::VerificationCreateParams::Signals::DevicePlatform::OrSymbol, + existing_user: T::Boolean, ip: String, is_trusted_user: T::Boolean, ja4_fingerprint: String, @@ -934,6 +946,12 @@ module PreludeSDK device_model: nil, # The type of the user's device. device_platform: nil, + # Whether the end-user already exists in your system, for example an existing + # account signing in again rather than a first-time signup. Unlike + # `is_trusted_user`, this signal does not bypass fraud checks; it is taken into + # account as one additional anti-fraud signal. For more details, refer to + # [Signals](/verify/v2/documentation/prevent-fraud#signals). + existing_user: nil, # The public IP v4 or v6 address of the end-user's device. You should collect this # from your backend. If your backend is behind a proxy, use the `X-Forwarded-For`, # `Forwarded`, `True-Client-IP`, `CF-Connecting-IP` or an equivalent header to get @@ -964,6 +982,7 @@ module PreludeSDK device_model: String, device_platform: PreludeSDK::VerificationCreateParams::Signals::DevicePlatform::OrSymbol, + existing_user: T::Boolean, ip: String, is_trusted_user: T::Boolean, ja4_fingerprint: String, diff --git a/rbi/prelude_sdk/models/watch_predict_params.rbi b/rbi/prelude_sdk/models/watch_predict_params.rbi index a95458f5..4f39af92 100644 --- a/rbi/prelude_sdk/models/watch_predict_params.rbi +++ b/rbi/prelude_sdk/models/watch_predict_params.rbi @@ -240,6 +240,17 @@ module PreludeSDK end attr_writer :device_platform + # Whether the end-user already exists in your system, for example an existing + # account signing in again rather than a first-time signup. Unlike + # `is_trusted_user`, this signal does not bypass fraud checks; it is taken into + # account as one additional anti-fraud signal. For more details, refer to + # [Signals](/verify/v2/documentation/prevent-fraud#signals). + sig { returns(T.nilable(T::Boolean)) } + attr_reader :existing_user + + sig { params(existing_user: T::Boolean).void } + attr_writer :existing_user + # The public IP v4 or v6 address of the end-user's device. You should collect this # from your backend. If your backend is behind a proxy, use the `X-Forwarded-For`, # `Forwarded`, `True-Client-IP`, `CF-Connecting-IP` or an equivalent header to get @@ -293,6 +304,7 @@ module PreludeSDK device_model: String, device_platform: PreludeSDK::WatchPredictParams::Signals::DevicePlatform::OrSymbol, + existing_user: T::Boolean, ip: String, is_trusted_user: T::Boolean, ja4_fingerprint: String, @@ -311,6 +323,12 @@ module PreludeSDK device_model: nil, # The type of the user's device. device_platform: nil, + # Whether the end-user already exists in your system, for example an existing + # account signing in again rather than a first-time signup. Unlike + # `is_trusted_user`, this signal does not bypass fraud checks; it is taken into + # account as one additional anti-fraud signal. For more details, refer to + # [Signals](/verify/v2/documentation/prevent-fraud#signals). + existing_user: nil, # The public IP v4 or v6 address of the end-user's device. You should collect this # from your backend. If your backend is behind a proxy, use the `X-Forwarded-For`, # `Forwarded`, `True-Client-IP`, `CF-Connecting-IP` or an equivalent header to get @@ -341,6 +359,7 @@ module PreludeSDK device_model: String, device_platform: PreludeSDK::WatchPredictParams::Signals::DevicePlatform::OrSymbol, + existing_user: T::Boolean, ip: String, is_trusted_user: T::Boolean, ja4_fingerprint: String, diff --git a/rbi/prelude_sdk/models/watch_predict_response.rbi b/rbi/prelude_sdk/models/watch_predict_response.rbi index 8223f33a..33567815 100644 --- a/rbi/prelude_sdk/models/watch_predict_response.rbi +++ b/rbi/prelude_sdk/models/watch_predict_response.rbi @@ -32,6 +32,9 @@ module PreludeSDK # when prediction is "suspicious" and the anti-fraud system detected specific risk # signals. # + # - `account_risk_profile` - The target matches a risk profile derived from the + # outcomes reported on your own account, rather than from a signal shared across + # accounts. # - `behavioral_pattern` - The phone number past behavior during verification # flows exhibits suspicious patterns. # - `device_attribute` - The device exhibits characteristics associated with @@ -97,6 +100,9 @@ module PreludeSDK # when prediction is "suspicious" and the anti-fraud system detected specific risk # signals. # + # - `account_risk_profile` - The target matches a risk profile derived from the + # outcomes reported on your own account, rather than from a signal shared across + # accounts. # - `behavioral_pattern` - The phone number past behavior during verification # flows exhibits suspicious patterns. # - `device_attribute` - The device exhibits characteristics associated with @@ -179,6 +185,11 @@ module PreludeSDK end OrSymbol = T.type_alias { T.any(Symbol, String) } + ACCOUNT_RISK_PROFILE = + T.let( + :account_risk_profile, + PreludeSDK::Models::WatchPredictResponse::RiskFactor::TaggedSymbol + ) BEHAVIORAL_PATTERN = T.let( :behavioral_pattern, diff --git a/rbi/prelude_sdk/resources/notify.rbi b/rbi/prelude_sdk/resources/notify.rbi index d4760de8..6e23765b 100644 --- a/rbi/prelude_sdk/resources/notify.rbi +++ b/rbi/prelude_sdk/resources/notify.rbi @@ -5,6 +5,8 @@ module PreludeSDK # Send transactional and marketing messages with compliance enforcement. class Notify # Retrieve a specific subscription management configuration by its ID. + # + # In order to get access to this endpoint, contact our support team. sig do params( config_id: String, @@ -20,6 +22,8 @@ module PreludeSDK # Retrieve the current subscription status for a specific phone number within a # subscription configuration. + # + # In order to get access to this endpoint, contact our support team. sig do params( phone_number: String, @@ -41,6 +45,8 @@ module PreludeSDK # # Each configuration represents a subscription management setup with phone numbers # for receiving opt-out/opt-in requests and a callback URL for webhook events. + # + # In order to get access to this endpoint, contact our support team. sig do params( cursor: String, @@ -61,6 +67,8 @@ module PreludeSDK # phone number within a subscription configuration. # # Events are ordered by timestamp in descending order (most recent first). + # + # In order to get access to this endpoint, contact our support team. sig do params( phone_number: String, @@ -89,6 +97,8 @@ module PreludeSDK # specific subscription configuration. # # You can optionally filter by subscription state (SUB or UNSUB). + # + # In order to get access to this endpoint, contact our support team. sig do params( config_id: String, diff --git a/scripts/mock b/scripts/mock index feebe5ed..984e1c00 100755 --- a/scripts/mock +++ b/scripts/mock @@ -4,6 +4,11 @@ set -e cd "$(dirname "$0")/.." +if [ "$1" == "--install" ]; then + npm exec --package=@stdy/cli@0.22.1 -- steady --version + exit 0 +fi + if [[ -n "$1" && "$1" != '--'* ]]; then URL="$1" shift @@ -20,16 +25,18 @@ fi echo "==> Starting mock server with URL ${URL}" # Run steady mock on the given spec +MOCK_PORT="${STAINLESS_MOCK_PORT:-4010}" + if [ "$1" == "--daemon" ]; then # Pre-install the package so the download doesn't eat into the startup timeout npm exec --package=@stdy/cli@0.22.1 -- steady --version - npm exec --package=@stdy/cli@0.22.1 -- steady --host 127.0.0.1 -p 4010 --validator-query-array-format=comma --validator-form-array-format=comma --validator-query-object-format=brackets --validator-form-object-format=brackets "$URL" &> .stdy.log & + npm exec --package=@stdy/cli@0.22.1 -- steady --host 127.0.0.1 -p "$MOCK_PORT" --validator-query-array-format=comma --validator-form-array-format=comma --validator-query-object-format=brackets --validator-form-object-format=brackets "$URL" &> .stdy.log & # Wait for server to come online via health endpoint (max 30s) echo -n "Waiting for server" attempts=0 - while ! curl --silent --fail "http://127.0.0.1:4010/_x-steady/health" >/dev/null 2>&1; do + while ! curl --silent --fail "http://127.0.0.1:$MOCK_PORT/_x-steady/health" >/dev/null 2>&1; do if ! kill -0 $! 2>/dev/null; then echo cat .stdy.log @@ -48,5 +55,5 @@ if [ "$1" == "--daemon" ]; then echo else - npm exec --package=@stdy/cli@0.22.1 -- steady --host 127.0.0.1 -p 4010 --validator-query-array-format=comma --validator-form-array-format=comma --validator-query-object-format=brackets --validator-form-object-format=brackets "$URL" + npm exec --package=@stdy/cli@0.22.1 -- steady --host 127.0.0.1 -p "$MOCK_PORT" --validator-query-array-format=comma --validator-form-array-format=comma --validator-query-object-format=brackets --validator-form-object-format=brackets "$URL" fi diff --git a/scripts/test b/scripts/test index 0ba56105..6e565bda 100755 --- a/scripts/test +++ b/scripts/test @@ -9,8 +9,10 @@ GREEN='\033[0;32m' YELLOW='\033[0;33m' NC='\033[0m' # No Color +MOCK_PORT="${STAINLESS_MOCK_PORT:-4010}" + function steady_is_running() { - curl --silent "http://127.0.0.1:4010/_x-steady/health" >/dev/null 2>&1 + curl --silent "http://127.0.0.1:$MOCK_PORT/_x-steady/health" >/dev/null 2>&1 } kill_server_on_port() { @@ -27,7 +29,7 @@ function is_overriding_api_base_url() { if ! is_overriding_api_base_url && ! steady_is_running ; then # When we exit this script, make sure to kill the background mock server process - trap 'kill_server_on_port 4010' EXIT + trap 'kill_server_on_port "$MOCK_PORT"' EXIT # Start the dev server ./scripts/mock --daemon @@ -43,7 +45,7 @@ elif ! steady_is_running ; then echo -e "To run the server, pass in the path or url of your OpenAPI" echo -e "spec to the steady command:" echo - echo -e " \$ ${YELLOW}npm exec --package=@stdy/cli@0.22.1 -- steady path/to/your.openapi.yml --host 127.0.0.1 -p 4010 --validator-query-array-format=comma --validator-form-array-format=comma --validator-query-object-format=brackets --validator-form-object-format=brackets${NC}" + echo -e " \$ ${YELLOW}npm exec --package=@stdy/cli@0.22.1 -- steady path/to/your.openapi.yml --host 127.0.0.1 -p $MOCK_PORT --validator-query-array-format=comma --validator-form-array-format=comma --validator-query-object-format=brackets --validator-form-object-format=brackets${NC}" echo exit 1 @@ -52,5 +54,9 @@ else echo fi +if [ -n "${STAINLESS_MOCK_PORT:-}" ] && ! is_overriding_api_base_url ; then + export TEST_API_BASE_URL="http://127.0.0.1:$MOCK_PORT" +fi + echo "==> Running tests" bundle exec rake test "$@" diff --git a/sig/prelude_sdk/models/verification_create_params.rbs b/sig/prelude_sdk/models/verification_create_params.rbs index d270640d..d427b152 100644 --- a/sig/prelude_sdk/models/verification_create_params.rbs +++ b/sig/prelude_sdk/models/verification_create_params.rbs @@ -294,6 +294,7 @@ module PreludeSDK device_id: String, device_model: String, device_platform: PreludeSDK::Models::VerificationCreateParams::Signals::device_platform, + existing_user: bool, ip: String, is_trusted_user: bool, :ja4_fingerprint => String, @@ -320,6 +321,10 @@ module PreludeSDK PreludeSDK::Models::VerificationCreateParams::Signals::device_platform ) -> PreludeSDK::Models::VerificationCreateParams::Signals::device_platform + attr_reader existing_user: bool? + + def existing_user=: (bool) -> bool + attr_reader ip: String? def ip=: (String) -> String @@ -345,6 +350,7 @@ module PreludeSDK ?device_id: String, ?device_model: String, ?device_platform: PreludeSDK::Models::VerificationCreateParams::Signals::device_platform, + ?existing_user: bool, ?ip: String, ?is_trusted_user: bool, ?ja4_fingerprint: String, @@ -357,6 +363,7 @@ module PreludeSDK device_id: String, device_model: String, device_platform: PreludeSDK::Models::VerificationCreateParams::Signals::device_platform, + existing_user: bool, ip: String, is_trusted_user: bool, :ja4_fingerprint => String, diff --git a/sig/prelude_sdk/models/watch_predict_params.rbs b/sig/prelude_sdk/models/watch_predict_params.rbs index a1f3b3d2..f479c7b3 100644 --- a/sig/prelude_sdk/models/watch_predict_params.rbs +++ b/sig/prelude_sdk/models/watch_predict_params.rbs @@ -98,6 +98,7 @@ module PreludeSDK device_id: String, device_model: String, device_platform: PreludeSDK::Models::WatchPredictParams::Signals::device_platform, + existing_user: bool, ip: String, is_trusted_user: bool, :ja4_fingerprint => String, @@ -124,6 +125,10 @@ module PreludeSDK PreludeSDK::Models::WatchPredictParams::Signals::device_platform ) -> PreludeSDK::Models::WatchPredictParams::Signals::device_platform + attr_reader existing_user: bool? + + def existing_user=: (bool) -> bool + attr_reader ip: String? def ip=: (String) -> String @@ -149,6 +154,7 @@ module PreludeSDK ?device_id: String, ?device_model: String, ?device_platform: PreludeSDK::Models::WatchPredictParams::Signals::device_platform, + ?existing_user: bool, ?ip: String, ?is_trusted_user: bool, ?ja4_fingerprint: String, @@ -161,6 +167,7 @@ module PreludeSDK device_id: String, device_model: String, device_platform: PreludeSDK::Models::WatchPredictParams::Signals::device_platform, + existing_user: bool, ip: String, is_trusted_user: bool, :ja4_fingerprint => String, diff --git a/sig/prelude_sdk/models/watch_predict_response.rbs b/sig/prelude_sdk/models/watch_predict_response.rbs index 5d312e68..665f1898 100644 --- a/sig/prelude_sdk/models/watch_predict_response.rbs +++ b/sig/prelude_sdk/models/watch_predict_response.rbs @@ -47,7 +47,8 @@ module PreludeSDK end type risk_factor = - :behavioral_pattern + :account_risk_profile + | :behavioral_pattern | :device_attribute | :fraud_database | :location_discrepancy @@ -61,6 +62,7 @@ module PreludeSDK module RiskFactor extend PreludeSDK::Internal::Type::Enum + ACCOUNT_RISK_PROFILE: :account_risk_profile BEHAVIORAL_PATTERN: :behavioral_pattern DEVICE_ATTRIBUTE: :device_attribute FRAUD_DATABASE: :fraud_database