Recommendation APIs provided by Fraud Prevention are used to assess risk level, obtain recommendations, and provide feedback
Recommendations
- Sandbox environmenthttps://api.sbx.transmitsecurity.io/risk/v1/recommendation
- Production environment (US)https://api.transmitsecurity.io/risk/v1/recommendation
- Production environment (EU)https://api.eu.transmitsecurity.io/risk/v1/recommendation
- Production environment (CA)https://api.ca.transmitsecurity.io/risk/v1/recommendation
- Production environment (AU)https://api.au.transmitsecurity.io/risk/v1/recommendation
- cURL
- Node.js
- Go
- JavaScript
- Java
- Python
curl -i -X GET \
'https://api.sbx.transmitsecurity.io/risk/v1/recommendation?action_token=REPLACE_WITH_ACTION_TOKEN&user_id=REPLACE_WITH_USER_ID' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'Recommendation
Recommendation identifier
Unix epoch time in milliseconds this recommendation was issued at
Recommended way to handle the reported action
Used to assess the risk level of the client action
Identifies the context in which the action occurred
Identifier of the client action
Type of client action this recommendation was issued for
Unix epoch time in milliseconds the action event was reported
Unix epoch timestamp (ms) from the device clock when the action is triggered via triggerActionEvent(). For backend-triggered actions, uses the server time (Date.now()). Used to correlate client and server events.
Identifies the client associated with the action
Identifies the application associated with the action
Unique device identifier. On web, stored in the cookie. On mobile, uses platform-provided identifiers such as Android ID (hex string) or iOS identifierForVendor (alphanumeric). Not derived from IMEI or other hardware identifiers.
Any ID that could help relate the action with external context or session (if set via triggerActionEvent() SDK calls)
Hash value on all the device data collected from the browser
A unique and persistent identifier derived from cryptographic binding
Opaque identifier of the user in your system (if set via setAuthenticatedUser() or init() SDK calls)
User ID of the not yet authenticated user, used to enhance risk and trust assessments. Once the user is authenticated, drs.setAuthenticatedUser() should be called.
The place in the application in which the action was performed (such as the page URL)
Country code, specified in a two-letter format (ISO 3166-1 alpha-2)
Geolocation longitude identified by IP address
Geolocation latitude identified by IP address
Globally unique identifier that defines a group of one or more IP prefixes
Globally unique identifier that defines a group of one or more IP prefixes
Timezone location identified by IP address
Explains the reasons for the recommendation
List of all detected threats
{ "id": "385cd06b527a974982e0560b67123fe2b1b5a39fd98d8d32cdbaca8ec16fd62d", "issued_at": 1648028118123, "recommendation": { "type": "CHALLENGE", "result": "success", "challenge_type": "email_otp" }, "risk_score": 73.2, "context": { "action_id": "885cd06b527a97498200560b67123fe221b5a39fd98d8d22cdb7ca8ec16ed62d", "action_type": "login", "action_performed_at": 1648028118123, "device_timestamp": 1648028107819, "client_id": "d152ddd.ece93f4.c2a3d12.riskid.security", "application_id": "ece93f4", "tenant_id": "c2a3d12", "device_id": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIwZGE4ZmZjYy01NmE1LTRmMjgtYThkZi04NDY5MmYwYThmYTAiLCJ2ZXJzaW9uIjoxLCJpYXQiOjE2NTU3OTYzODQ1MzF9.TeGoqlCe_6eWzl9a3-vAumG4Xap8WjwsgcO2-DzGtLg", "correlation_id": "bcb934d8-89cb-433b-a4c7-b7d94299586b", "device_fingerprint": "a3c8f5ea75cb65fcdc3d0452b985f957a46e24afdc912e93dac1e115ecf408e5", "device_public_key": "625ad815e47a1a05318c98185ff8cfb35fd706d836a1ad7459842f381929a8e3", "user_id": "5c4afa75c", "claimed_user_id": "5c4afa75c", "location": "https://www.amazingapp.com/shops?target=1", "ip": "192.168.0.1", "ip_country": "UK", "ip_region": "California", "ip_location_city": "Los Angeles", "ip_location_zip": 92131, "ip_location_longitude": "-117.0903", "ip_location_latitude": "32.9167", "ip_asn_name": "AS174 Cogent Communications", "ip_asn_id": "AS174", "ip_organization_name": "Cogent Communications", "ip_organization_type": "isp", "ip_location_timezone": "America/Los_Angeles", "device_timezone": "America/Los_Angeles", "device_languages": [ … ], "device_platform": "desktop", "os_name": "macOS", "os_version": "14.1.0", "browser_name": "Chrome", "browser_version": "113", "user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36" }, "risk_signals": { "device": { … }, "network": { … }, "behavior": { … }, "history": { … } }, "reasons": [ "BEHAVIOR_BOT", "IP_RISKY_REPUTATION", "DEVICE_SUSPICIOUS_ATTRIBUTE", "PROFILE_DEVICE_NEW" ], "transaction_data": { "amount": 120, "currency": "USD", "reason": "string", "transactionDate": 0, "payer": { … }, "payee": { … } }, "threats": [ "ACCOUNT_TAKEOVER", "NEW_FRAUD_ACCOUNT" ], "preview_rule": { "rule_name": "string", "recommendation": "string" } }
Name of the recommendation rule. Must be unique across the tenant. Auto generated if not provided.
Priority of the recommendation rule, which determines the order in which rules are evaluated. Rules are evaluated from smallest to biggest priority value and only the first rule to match will apply. Priority value must be unique.
Allows you to simulate a rule and evaluate its impact before releasing it to production. The simulation occurs each time a recommendation is requested. If a preview rule matches the request (meaning, its priority is higher than all matching rules), the response will include this preview rule and what the recommendation would have been if all rules were in production.
- Sandbox environmenthttps://api.sbx.transmitsecurity.io/risk/v1/recommendation/rules
- Production environment (US)https://api.transmitsecurity.io/risk/v1/recommendation/rules
- Production environment (EU)https://api.eu.transmitsecurity.io/risk/v1/recommendation/rules
- Production environment (CA)https://api.ca.transmitsecurity.io/risk/v1/recommendation/rules
- Production environment (AU)https://api.au.transmitsecurity.io/risk/v1/recommendation/rules
- cURL
- Node.js
- Go
- JavaScript
- Java
- Python
curl -i -X POST \
https://api.sbx.transmitsecurity.io/risk/v1/recommendation/rules \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"name": "Block risky countries",
"priority": 10,
"matcher": {
"ip_cidrs": [
"string"
]
},
"recommendation": "CHALLENGE",
"enabled": true,
"mode": "PREVIEW"
}'{ "message": "string", "rule_id": "string" }
- Sandbox environmenthttps://api.sbx.transmitsecurity.io/risk/v1/recommendation/rules
- Production environment (US)https://api.transmitsecurity.io/risk/v1/recommendation/rules
- Production environment (EU)https://api.eu.transmitsecurity.io/risk/v1/recommendation/rules
- Production environment (CA)https://api.ca.transmitsecurity.io/risk/v1/recommendation/rules
- Production environment (AU)https://api.au.transmitsecurity.io/risk/v1/recommendation/rules
- cURL
- Node.js
- Go
- JavaScript
- Java
- Python
curl -i -X GET \
https://api.sbx.transmitsecurity.io/risk/v1/recommendation/rules \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'{ "data": [ { … } ] }
- Sandbox environmenthttps://api.sbx.transmitsecurity.io/risk/v1/recommendation/rules/{rule_id}
- Production environment (US)https://api.transmitsecurity.io/risk/v1/recommendation/rules/{rule_id}
- Production environment (EU)https://api.eu.transmitsecurity.io/risk/v1/recommendation/rules/{rule_id}
- Production environment (CA)https://api.ca.transmitsecurity.io/risk/v1/recommendation/rules/{rule_id}
- Production environment (AU)https://api.au.transmitsecurity.io/risk/v1/recommendation/rules/{rule_id}
- cURL
- Node.js
- Go
- JavaScript
- Java
- Python
curl -i -X GET \
'https://api.sbx.transmitsecurity.io/risk/v1/recommendation/rules/{rule_id}' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'{ "id": "string", "data": { "name": "Block risky countries", "priority": 10, "matcher": { … }, "recommendation": "CHALLENGE", "enabled": true, "mode": "PREVIEW" } }
Name of the recommendation rule. Must be unique across the tenant. Auto generated if not provided.
Priority of the recommendation rule, which determines the order in which rules are evaluated. Rules are evaluated from smallest to biggest priority value and only the first rule to match will apply. Priority value must be unique.
Allows you to simulate a rule and evaluate its impact before releasing it to production. The simulation occurs each time a recommendation is requested. If a preview rule matches the request (meaning, its priority is higher than all matching rules), the response will include this preview rule and what the recommendation would have been if all rules were in production.
- Sandbox environmenthttps://api.sbx.transmitsecurity.io/risk/v1/recommendation/rules/{rule_id}
- Production environment (US)https://api.transmitsecurity.io/risk/v1/recommendation/rules/{rule_id}
- Production environment (EU)https://api.eu.transmitsecurity.io/risk/v1/recommendation/rules/{rule_id}
- Production environment (CA)https://api.ca.transmitsecurity.io/risk/v1/recommendation/rules/{rule_id}
- Production environment (AU)https://api.au.transmitsecurity.io/risk/v1/recommendation/rules/{rule_id}
- cURL
- Node.js
- Go
- JavaScript
- Java
- Python
curl -i -X PUT \
'https://api.sbx.transmitsecurity.io/risk/v1/recommendation/rules/{rule_id}' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"name": "Block risky countries",
"priority": 10,
"matcher": {
"ip_cidrs": [
"string"
]
},
"recommendation": "CHALLENGE",
"enabled": true,
"mode": "PREVIEW"
}'{ "message": "string" }
- Sandbox environmenthttps://api.sbx.transmitsecurity.io/risk/v1/recommendation/rules/{rule_id}
- Production environment (US)https://api.transmitsecurity.io/risk/v1/recommendation/rules/{rule_id}
- Production environment (EU)https://api.eu.transmitsecurity.io/risk/v1/recommendation/rules/{rule_id}
- Production environment (CA)https://api.ca.transmitsecurity.io/risk/v1/recommendation/rules/{rule_id}
- Production environment (AU)https://api.au.transmitsecurity.io/risk/v1/recommendation/rules/{rule_id}
- cURL
- Node.js
- Go
- JavaScript
- Java
- Python
curl -i -X DELETE \
'https://api.sbx.transmitsecurity.io/risk/v1/recommendation/rules/{rule_id}' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'{ "message": "string" }