Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "0.8.0"
".": "0.9.0"
}
4 changes: 2 additions & 2 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 27
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/prelude/prelude-33b70f86404b99046db5c61d3142b149dd7dec7eefe5e62ff3b397c7274aa5dc.yml
openapi_spec_hash: fb72aba38ec55a3b6b5162c9f5b4228d
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/prelude/prelude-fdbaf5386743020c305990b67afae97f62c69478baafc39c3efbd296cb62770c.yml
openapi_spec_hash: 14d5b04b5dfa004a9cb0b1317e928abe
config_hash: 707d65d2f456a2b5ba5b2c565b60128a
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# Changelog

## 0.9.0 (2026-09-18)

Full Changelog: [v0.8.0...v0.9.0](https://github.com/prelude-so/ruby-sdk/compare/v0.8.0...v0.9.0)

### Features

* **api:** api update ([f86194b](https://github.com/prelude-so/ruby-sdk/commit/f86194b0bea9b4034842e7d6e08089a9c90da2e9))

## 0.8.0 (2026-09-18)

Full Changelog: [v0.7.0...v0.8.0](https://github.com/prelude-so/ruby-sdk/compare/v0.7.0...v0.8.0)
Expand Down
2 changes: 1 addition & 1 deletion Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ GIT
PATH
remote: .
specs:
prelude-sdk (0.8.0)
prelude-sdk (0.9.0)
cgi
connection_pool

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ To use this gem, install via Bundler by adding the following to your application
<!-- x-release-please-start-version -->

```ruby
gem "prelude-sdk", "~> 0.8.0"
gem "prelude-sdk", "~> 0.9.0"
```

<!-- x-release-please-end -->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,8 @@ class Verification < PreludeSDK::Internal::Type::BaseModel
# - `invalid_line` - The phone number is not a valid line type.
# - `invalid_number` - The phone number is not a valid number.
# - `rate_limited` - The verification was refused by a rate limit.
# - `expired_signals` - The SDK signals were collected too long before the
# request.
# - `expired_signals` - The SDK signals were collected too long before the request
# to still attest to it.
# - `shadowed` - The anti-fraud system flagged the verification without blocking
# it.
#
Expand Down Expand Up @@ -209,8 +209,8 @@ module Channel
# - `invalid_line` - The phone number is not a valid line type.
# - `invalid_number` - The phone number is not a valid number.
# - `rate_limited` - The verification was refused by a rate limit.
# - `expired_signals` - The SDK signals were collected too long before the
# request.
# - `expired_signals` - The SDK signals were collected too long before the request
# to still attest to it.
# - `shadowed` - The anti-fraud system flagged the verification without blocking
# it.
#
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,8 @@ class HistoryRetrieveResponse < PreludeSDK::Internal::Type::BaseModel
# - `invalid_line` - The phone number is not a valid line type.
# - `invalid_number` - The phone number is not a valid number.
# - `rate_limited` - The verification was refused by a rate limit.
# - `expired_signals` - The SDK signals were collected too long before the
# request.
# - `expired_signals` - The SDK signals were collected too long before the request
# to still attest to it.
# - `shadowed` - The anti-fraud system flagged the verification without blocking
# it.
#
Expand All @@ -58,31 +58,44 @@ class HistoryRetrieveResponse < PreludeSDK::Internal::Type::BaseModel
optional :app_version, String

# @!attribute block_reasons
# Why the anti-fraud system blocked the verification. Empty unless it did.
#
# - `behavioral_pattern` - The phone number past behavior during verification
# flows exhibits suspicious patterns.
# - `device_attribute` - The end-user device reported attributes associated with
# fraud or emulation.
# - `fraud_database` - The phone number appears in a fraud database.
# - `location_discrepancy` - The phone number region and the observed location
# disagree.
# Why the anti-fraud system blocked the verification. Empty unless it did. These
# are the same labels the Verify and Watch APIs serve as `risk_factors`.
#
# - `automation_signature` - The request appears to come from an automated client
# rather than a person.
# - `carrier_not_permitted` - The destination carrier is one this account does not
# accept traffic for.
# - `client_fingerprint_mismatch` - The client does not appear to be the platform
# it identifies itself as.
# - `custom_policy` - A rule configured for your account matched this request.
# - `device_emulator` - The request appears to come from an emulator rather than a
# physical device.
# - `device_not_permitted` - The device platform is one your account blocks.
# - `device_reuse` - One device is driving verifications for an unusual number of
# phone numbers.
# - `expired_signals` - The SDK signals were collected too long before the request
# to still attest to it.
# - `fraud_database` - The phone number is flagged in one or more of the fraud
# databases Prelude consults.
# - `invalid_signature` - The SDK signature did not verify, so the request cannot
# be attributed to the device it claims to come from.
# - `ip_concentration` - The request shares its origin with an unusual volume of
# other verifications.
# - `ip_reputation` - The originating IP address is not trusted.
# - `location_mismatch` - The network location and the phone number's country are
# inconsistent.
# - `missing_signals` - The verification expected Prelude SDK signals and none
# arrived.
# - `network_fingerprint` - The network fingerprint matches known fraudulent
# traffic.
# - `poor_conversion_history` - The phone number rarely completes the
# verifications it starts.
# - `prefix_concentration` - The phone number is part of a range known to be
# associated with suspicious activity patterns.
# - `repeated_number` - The phone number was used far more often than normal
# traffic would explain.
# - `suspected_request_tampering` - The SDK signals were altered or expired
# between collection and use.
# - `suspicious_ip_address` - The originating IP address is associated with
# suspicious activity.
# - `temporary_phone_number` - The phone number is known to be a temporary or
# disposable number.
# - `number_range_abuse` - The phone number belongs to a range currently
# associated with abuse.
# - `poor_conversion_history` - Traffic resembling this request rarely completes a
# verification.
# - `proxy_network` - The request did not arrive over the subscriber's own access
# network.
# - `repeated_attempts` - The phone number exceeded the allowed number of
# verification attempts in a short period.
# - `temporary_phone_number` - The phone number belongs to a disposable or
# short-lived numbering service.
#
# @return [Array<Symbol, PreludeSDK::Models::Verification::Phone::HistoryRetrieveResponse::BlockReason>, nil]
optional :block_reasons,
Expand Down Expand Up @@ -198,7 +211,7 @@ class HistoryRetrieveResponse < PreludeSDK::Internal::Type::BaseModel
#
# @param app_version [String] Version of your application, when known.
#
# @param block_reasons [Array<Symbol, PreludeSDK::Models::Verification::Phone::HistoryRetrieveResponse::BlockReason>] Why the anti-fraud system blocked the verification. Empty unless it did.
# @param block_reasons [Array<Symbol, PreludeSDK::Models::Verification::Phone::HistoryRetrieveResponse::BlockReason>] Why the anti-fraud system blocked the verification. Empty unless it did. These a
#
# @param carrier [PreludeSDK::Models::Verification::Phone::PhoneVerificationCarrier] The end user's mobile network.
#
Expand Down Expand Up @@ -242,8 +255,8 @@ class HistoryRetrieveResponse < PreludeSDK::Internal::Type::BaseModel
# - `invalid_line` - The phone number is not a valid line type.
# - `invalid_number` - The phone number is not a valid number.
# - `rate_limited` - The verification was refused by a rate limit.
# - `expired_signals` - The SDK signals were collected too long before the
# request.
# - `expired_signals` - The SDK signals were collected too long before the request
# to still attest to it.
# - `shadowed` - The anti-fraud system flagged the verification without blocking
# it.
#
Expand Down Expand Up @@ -271,17 +284,24 @@ module Status
module BlockReason
extend PreludeSDK::Internal::Type::Enum

BEHAVIORAL_PATTERN = :behavioral_pattern
DEVICE_ATTRIBUTE = :device_attribute
AUTOMATION_SIGNATURE = :automation_signature
CARRIER_NOT_PERMITTED = :carrier_not_permitted
CLIENT_FINGERPRINT_MISMATCH = :client_fingerprint_mismatch
CUSTOM_POLICY = :custom_policy
DEVICE_EMULATOR = :device_emulator
DEVICE_NOT_PERMITTED = :device_not_permitted
DEVICE_REUSE = :device_reuse
EXPIRED_SIGNALS = :expired_signals
FRAUD_DATABASE = :fraud_database
LOCATION_DISCREPANCY = :location_discrepancy
INVALID_SIGNATURE = :invalid_signature
IP_CONCENTRATION = :ip_concentration
IP_REPUTATION = :ip_reputation
LOCATION_MISMATCH = :location_mismatch
MISSING_SIGNALS = :missing_signals
NETWORK_FINGERPRINT = :network_fingerprint
NUMBER_RANGE_ABUSE = :number_range_abuse
POOR_CONVERSION_HISTORY = :poor_conversion_history
PREFIX_CONCENTRATION = :prefix_concentration
REPEATED_NUMBER = :repeated_number
SUSPECTED_REQUEST_TAMPERING = :suspected_request_tampering
SUSPICIOUS_IP_ADDRESS = :suspicious_ip_address
PROXY_NETWORK = :proxy_network
REPEATED_ATTEMPTS = :repeated_attempts
TEMPORARY_PHONE_NUMBER = :temporary_phone_number

# @!method self.values
Expand Down
92 changes: 59 additions & 33 deletions lib/prelude_sdk/models/verification_create_response.rb
Original file line number Diff line number Diff line change
Expand Up @@ -58,9 +58,10 @@ class VerificationCreateResponse < PreludeSDK::Internal::Type::BaseModel
# landline).
# - `invalid_phone_number` - The phone number is not a valid phone number (e.g.
# unallocated range).
# - `invalid_signature` - The signature of the SDK signals is invalid.
# - `repeated_attempts` - The phone number has made too many verification
# attempts.
# - `invalid_signature` - The SDK signature did not verify, so the request cannot
# be attributed to the device it claims to come from.
# - `repeated_attempts` - The phone number exceeded the allowed number of
# verification attempts in a short period.
# - `suspicious` - The verification attempt was deemed suspicious by the
# anti-fraud system.
#
Expand All @@ -77,26 +78,41 @@ class VerificationCreateResponse < PreludeSDK::Internal::Type::BaseModel
# present when status is "blocked" or "shadow_blocked" and the anti-fraud system
# detected specific risk signals.
#
# - `behavioral_pattern` - The phone number past behavior during verification
# flows exhibits suspicious patterns.
# - `device_attribute` - The device exhibits characteristics associated with
# suspicious activity patterns.
# - `fraud_database` - The phone number has been flagged as suspicious in one or
# more of our fraud databases.
# - `location_discrepancy` - The phone number prefix and IP address discrepancy
# indicates potential fraud.
# - `network_fingerprint` - The network connection exhibits characteristics
# associated with suspicious activity patterns.
# - `poor_conversion_history` - The phone number has a history of poorly
# converting to a verified phone number.
# - `prefix_concentration` - The phone number is part of a range known to be
# associated with suspicious activity patterns.
# - `suspected_request_tampering` - The SDK signature is invalid and the request
# is considered to be tampered with.
# - `suspicious_ip_address` - The IP address is deemed to be associated with
# suspicious activity patterns.
# - `temporary_phone_number` - The phone number is known to be a temporary or
# disposable number.
# - `automation_signature` - The request appears to come from an automated client
# rather than a person.
# - `carrier_not_permitted` - The destination carrier is one this account does not
# accept traffic for.
# - `client_fingerprint_mismatch` - The client does not appear to be the platform
# it identifies itself as.
# - `custom_policy` - A rule configured for your account matched this request.
# - `device_emulator` - The request appears to come from an emulator rather than a
# physical device.
# - `device_not_permitted` - The device platform is one your account blocks.
# - `device_reuse` - One device is driving verifications for an unusual number of
# phone numbers.
# - `expired_signals` - The SDK signals were collected too long before the request
# to still attest to it.
# - `fraud_database` - The phone number is flagged in one or more of the fraud
# databases Prelude consults.
# - `invalid_signature` - The SDK signature did not verify, so the request cannot
# be attributed to the device it claims to come from.
# - `ip_concentration` - The request shares its origin with an unusual volume of
# other verifications.
# - `ip_reputation` - The originating IP address is not trusted.
# - `location_mismatch` - The network location and the phone number's country are
# inconsistent.
# - `missing_signals` - The verification expected Prelude SDK signals and none
# arrived.
# - `number_range_abuse` - The phone number belongs to a range currently
# associated with abuse.
# - `poor_conversion_history` - Traffic resembling this request rarely completes a
# verification.
# - `proxy_network` - The request did not arrive over the subscriber's own access
# network.
# - `repeated_attempts` - The phone number exceeded the allowed number of
# verification attempts in a short period.
# - `temporary_phone_number` - The phone number belongs to a disposable or
# short-lived numbering service.
#
# @return [Array<Symbol, PreludeSDK::Models::VerificationCreateResponse::RiskFactor>, nil]
optional :risk_factors,
Expand Down Expand Up @@ -215,9 +231,10 @@ class Metadata < PreludeSDK::Internal::Type::BaseModel
# landline).
# - `invalid_phone_number` - The phone number is not a valid phone number (e.g.
# unallocated range).
# - `invalid_signature` - The signature of the SDK signals is invalid.
# - `repeated_attempts` - The phone number has made too many verification
# attempts.
# - `invalid_signature` - The SDK signature did not verify, so the request cannot
# be attributed to the device it claims to come from.
# - `repeated_attempts` - The phone number exceeded the allowed number of
# verification attempts in a short period.
# - `suspicious` - The verification attempt was deemed suspicious by the
# anti-fraud system.
#
Expand All @@ -240,15 +257,24 @@ module Reason
module RiskFactor
extend PreludeSDK::Internal::Type::Enum

BEHAVIORAL_PATTERN = :behavioral_pattern
DEVICE_ATTRIBUTE = :device_attribute
AUTOMATION_SIGNATURE = :automation_signature
CARRIER_NOT_PERMITTED = :carrier_not_permitted
CLIENT_FINGERPRINT_MISMATCH = :client_fingerprint_mismatch
CUSTOM_POLICY = :custom_policy
DEVICE_EMULATOR = :device_emulator
DEVICE_NOT_PERMITTED = :device_not_permitted
DEVICE_REUSE = :device_reuse
EXPIRED_SIGNALS = :expired_signals
FRAUD_DATABASE = :fraud_database
LOCATION_DISCREPANCY = :location_discrepancy
NETWORK_FINGERPRINT = :network_fingerprint
INVALID_SIGNATURE = :invalid_signature
IP_CONCENTRATION = :ip_concentration
IP_REPUTATION = :ip_reputation
LOCATION_MISMATCH = :location_mismatch
MISSING_SIGNALS = :missing_signals
NUMBER_RANGE_ABUSE = :number_range_abuse
POOR_CONVERSION_HISTORY = :poor_conversion_history
PREFIX_CONCENTRATION = :prefix_concentration
SUSPECTED_REQUEST_TAMPERING = :suspected_request_tampering
SUSPICIOUS_IP_ADDRESS = :suspicious_ip_address
PROXY_NETWORK = :proxy_network
REPEATED_ATTEMPTS = :repeated_attempts
TEMPORARY_PHONE_NUMBER = :temporary_phone_number

# @!method self.values
Expand Down
Loading
Loading