POST /processor/signal/evaluate
Use /signal/evaluate to evaluate a planned ACH transaction to get a return risk assessment and additional risk signals.
/signal/evaluate is used with Rulesets that are configured on the end customer Dashboard can can be used with either the Signal Transaction Scores product or the Balance product. Which product is used will be determined by the ruleset_key that you provide. For more details, see Signal Rules.
Note: This request may have higher latency if Signal Transaction Scores is being added to an existing Item for the first time, or when using a Balance-only ruleset. This is because Plaid must communicate directly with the institution to request data.
Servers
- https://production.plaid.com
- https://sandbox.plaid.com
Request headers
| Name | Type | Required | Description |
|---|---|---|---|
Content-Type |
String | Yes |
The media type of the request body.
Default value: "application/json" |
Request body fields
| Name | Type | Required | Description |
|---|---|---|---|
device |
Object | No |
Details about the end user's device. These fields are optional, but strongly recommended to increase the accuracy of results when using Signal Transaction Scores. When using a Balance-only Ruleset, these fields are ignored if the Signal Addendum has been signed; if it has not been signed, using these fields will result in an error. |
device.ip_address |
String | No |
The IP address of the device that initiated the transaction |
device.user_agent |
String | No |
The user agent of the device that initiated the transaction (e.g. "Mozilla/5.0") |
default_payment_method |
String | No |
The default ACH or non-ACH payment method to complete the transaction.
|
client_id |
String | No |
Your Plaid API |
processor_token |
String | Yes |
The processor token obtained from the Plaid integration partner. Processor tokens are in the format: |
user |
Object | No |
Details about the end user initiating the transaction (i.e., the account holder). These fields are optional, but strongly recommended to increase the accuracy of results when using Signal Transaction Scores. When using a Balance-only ruleset, if the Signal Addendum has been signed, these fields are ignored; if the Addendum has not been signed, using these fields will result in an error. |
user.name |
Object | No |
The user's legal name |
user.name.family_name |
String | No |
The user's family name / surname |
user.name.prefix |
String | No |
The user's name prefix (e.g. "Mr.") |
user.name.given_name |
String | No |
The user's given name. If the user has a one-word name, it should be provided in this field. |
user.name.middle_name |
String | No |
The user's middle name |
user.name.suffix |
String | No |
The user's name suffix (e.g. "II") |
user.email_address |
String | No |
The user's email address. |
user.address |
Object | No |
Data about the components comprising an address. |
user.address.region |
String | No |
The region or state
Example: |
user.address.postal_code |
String | No |
The postal code |
user.address.country |
String | No |
The ISO 3166-1 alpha-2 country code |
user.address.street |
String | No |
The full street address
Example: |
user.address.city |
String | No |
The full city name |
user.phone_number |
String | No |
The user's phone number, in E.164 format: +{countrycode}{number}. For example: "+14151234567" |
amount |
Number | Yes |
The transaction amount, in USD (e.g. |
ruleset_key |
String | No |
The key of the ruleset to use for this transaction. You can configure a ruleset using the Plaid Dashboard, under Signal->Rules. If not provided, for customers who began using Signal Transaction Scores before October 15, 2025, by default, no ruleset will be used; for customers who began using Signal Transaction Scores after that date, or for Balance customers, the |
client_transaction_id |
String | Yes |
The unique ID that you would like to use to refer to this transaction. For your convenience mapping your internal data, you could use your internal ID/identifier for this transaction. The max length for this field is 36 characters. |
user_present |
Boolean | No |
|
is_recurring |
Boolean | No |
true if the ACH transaction is a recurring transaction; false otherwise |
secret |
String | No |
Your Plaid API |
client_user_id |
String | No |
A unique ID that identifies the end user in your system. This ID is used to correlate requests by a user with multiple Items. Personally identifiable information, such as an email address or phone number, should not be used in the |
How to start integrating
- Add HTTP Task to your workflow definition.
- Search for the API you want to integrate with and click on the name.
- This loads the API reference documentation and prepares the Http request settings.
- Click Test request to test run your request to the API and see the API's response.