{"method":"POST","path":"https://api.revcent.com/v2/sentinel","summary":"Edit Sentinel Settings","description":"Edit the Sentinel settings for the RevCent account. All settings are optional and will only be updated if included in the request body. For example, if you only want to update the fraud firewall settings, you can include just the fraud firewall object in the request body and the tracking visitor validator settings will remain unchanged. View markdown documentation at https://revcent.com/documentation/markdown/mcp/operation/OverviewSentinelAntiFraud.md for an in-depth overview of this operation.","operationId":"EditSentinelSettings","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"enabled":{"type":"boolean","description":"Whether Sentinel is enabled or not. If Sentinel is disabled, tracking visitor validator and fraud firewall settings are ignored."},"tracking_visitor_validator":{"type":"object","additionalProperties":false,"description":"RevCent tracks visitors and stores detailed information on each. Certain metrics can determine whether a visitor is in fact a fraudster, thus preventing the visitor from ever making a purchase. RevCent will analyze the visitor data associated with the payment attempt to identify potential fraud.<br><br>Important: If tracking visitor validator is enabled, you must have DNS Tracking set up for all of your domains. If DNS tracking is not set up and tracking visitor is enabled, all purchases without a visitor ID will be treated as fraud.","properties":{"enabled":{"type":"boolean","description":"Whether tracking visitor validator is enabled or not. If disabled, all tracking visitor validator settings are ignored."},"reject_non_existing":{"type":"boolean","description":"Whether to reject purchases from non existing visitors or not. If enabled, if a purchase attempt is made and the visitor data does not exist for the visitor ID provided, or if a visitor ID is not provided, the purchase will be treated as fraud."},"reject_datacenter":{"type":"boolean","description":"Whether to reject visitors from datacenters or not. If enabled, if a purchase attempt is made and the visitor data associated with the visitor ID provided indicates that the visitor is from a datacenter, the purchase will be treated as fraud."},"reject_proxy":{"type":"boolean","description":"Whether to reject visitors from proxies or not. If enabled, if a purchase attempt is made and the visitor data associated with the visitor ID provided indicates that the visitor is from a proxy, the purchase will be treated as fraud."},"reject_vpn":{"type":"boolean","description":"Whether to reject visitors from VPNs or not. If enabled, if a purchase attempt is made and the visitor data associated with the visitor ID provided indicates that the visitor is from a VPN, the purchase will be treated as fraud. Recommended set to false."},"reject_country":{"type":"array","description":"Whether to reject visitors from specific countries or not. If non-empty, if a purchase attempt is made and the visitor data associated with the visitor ID provided indicates that the visitor is from a country in the reject countries list, the purchase will be treated as fraud.","items":{"type":"string","description":"The two letter ISO country code of the country to reject."}}}},"fraud_firewall":{"type":"object","additionalProperties":false,"description":"RevCent's fraud firewall can prevent fraud purchases based on IP. The fraud firewall will immediately reject any sale attempts without creating a sale or attempting payment for IP addresses that match settings.","properties":{"enabled":{"type":"boolean","description":"Whether the fraud firewall is enabled or not. If disabled, all fraud firewall settings are ignored."},"ip_sale_limit":{"type":"object","additionalProperties":false,"description":"The IP sale limit is a card testing prevention mechanism. If enabled, if a certain number of sales attempts are made from the same IP address within a set time period, the fraud firewall will block any further sale attempts from that IP address.<br><br>Recommended setting is max 5 sales within a 30 minute period, i.e. max_count = 5, max_time_unit = 'minutes', max_time_value = 30","properties":{"enabled":{"type":"boolean","description":"Whether the IP sale limit is enabled or not. If disabled, all IP sale limit settings are ignored."},"max_count":{"type":"integer","description":"The number of sale attempts from the same IP address within the time period that will trigger the fraud firewall to block further sale attempts from that IP address."},"max_time_unit":{"type":"string","description":"The time unit for which the sale attempt limit applies. Combined with max_time_value, this determines the time period for which the sale attempt limit applies. For example, if max_time_unit is 'minutes' and max_time_value is 30, the time period for which the sale attempt limit applies is 30 minutes. If max_time_unit is 'hours' and max_time_value is 2, the time period for which the sale attempt limit applies is 2 hours.","enum":["minutes","hours","days","weeks","months"]},"max_time_value":{"type":"integer","description":"The time period value for which the sale attempt limit applies. Combined with max_time_unit, this determines the time period for which the sale attempt limit applies. For example, if max_time_unit is 'minutes' and max_time_value is 30, the time period for which the sale attempt limit applies is 30 minutes. If max_time_unit is 'hours' and max_time_value is 2, the time period for which the sale attempt limit applies is 2 hours."},"add_fraud_alerts":{"type":"boolean","description":"Whether to automatically add fraud alerts to all sales which match the time period above. Recommended set to true."}}},"ip_fraud_detection":{"type":"object","additionalProperties":false,"description":"Whether to enable fraud detection based on IP matching. If at least one fraud detection in the lifetime of your account has the same IP address, reject the payment attempt.","properties":{"enabled":{"type":"boolean","description":"Whether the IP fraud detection setting is enabled or not. Recommended set to true."}}},"ip_chargeback":{"type":"object","additionalProperties":false,"description":"Whether to enable chargeback detection based on IP matching. If at least one chargeback in the lifetime of your account has the same IP address, reject the payment attempt.","properties":{"enabled":{"type":"boolean","description":"Whether the IP chargeback detection setting is enabled or not. Recommended set to true."}}},"ip_whitelist":{"type":"object","additionalProperties":false,"description":"A list of IP addresses that are allowed to bypass the fraud firewall settings regardless of sale limits, previous fraud or chargeback history.","properties":{"enabled":{"type":"boolean","description":"Whether the IP whitelist setting is enabled or not."},"ip_list":{"type":"array","description":"A list of IPV4 or IPV6 addresses that are allowed to bypass the fraud firewall settings. IP ranges are not supported.","items":{"type":"string","description":"The IP address to whitelist."}}}},"ip_blacklist":{"type":"object","additionalProperties":false,"description":"A list of IP addresses that are blocked from making purchases. If a purchase attempt is made with an IP address in the blacklist, the purchase will be treated as fraud.","properties":{"enabled":{"type":"boolean","description":"Whether the IP blacklist setting is enabled or not."},"ip_list":{"type":"array","description":"A list of IPV4 or IPV6 addresses that are blocked from making purchases. IP ranges are not supported.","items":{"type":"string","description":"The IP address to blacklist."}}}}}}},"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"description":"","properties":{"api_call_id":{"type":"string","description":"A 20 character API call ID.","minLength":20,"maxLength":20},"api_call_unix":{"description":"Unix timestamp of when the API call was initiated.","type":"integer","format":"unix-time"},"code":{"description":"API call response code.","type":"integer","format":"int32","enum":[1]},"result":{"type":"string"}},"type":"object","additionalProperties":false}}},"description":"Successful response."},"default":{"content":{"application/json":{"schema":{"description":"","properties":{"api_call_id":{"type":"string","description":"A 20 character API call ID.","minLength":20,"maxLength":20},"api_call_unix":{"description":"Unix timestamp of when the API call was initiated.","type":"integer","format":"unix-time"},"code":{"description":"This value indicates that there is an error. Will always be 0.","type":"integer","enum":[0]},"error_code":{"description":"The specific error code.","type":"string"},"message":{"description":"A human readable description of the error.","type":"string"},"result":{"description":"A description of the API call result.","type":"string"}},"title":"APIStandardErrors","type":"object","additionalProperties":false}}},"description":"Error response."}}}