Signal

signalEvaluate

POST
/signal/evaluate

Use /signal/evaluate to evaluate a planned ACH transaction to get a return risk assessment (such as a risk score and risk tier) and additional risk signals.

In order to obtain a valid score for an ACH transaction, Plaid must have an access token for the account, and the Item must be healthy (receiving product updates) or have recently been in a healthy state. If the transaction does not meet eligibility requirements, an error will be returned corresponding to the underlying cause.

Authorization

PLAID-CLIENT-ID PLAID-SECRET Plaid-Version
PLAID-CLIENT-ID<token>

In: header

PLAID-SECRET<token>

In: header

Plaid-Version<token>

In: header

Request Body

application/json

SignalEvaluateRequest defines the request schema for /signal/evaluate

client_id?string

Your Plaid API client_id. The client_id is required and may be provided either in the PLAID-CLIENT-ID header or as part of a request body.

secret?string

Your Plaid API secret. The secret is required and may be provided either in the PLAID-SECRET header or as part of a request body.

access_token*string

The access token associated with the Item data is being requested for.

account_id*string

The account_id of the account whose verification status is to be modified

client_transaction_id*string

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.

Lengthlength <= 36
amount*number

The transaction amount, in USD (e.g. 102.05)

client_user_id?string

A unique ID that identifies the end user in your system. This ID is used to correlate requests by a user with multiple Items. The max length for this field is 36 characters.

Lengthlength <= 36
user?

Details about the end user initiating the transaction (i.e., the account holder).

device?

Details about the end user's device

Response Body

application/json

application/json

curl -X POST "https://example.com/signal/evaluate" \  -H "Content-Type: application/json" \  -d '{    "access_token": "string",    "account_id": "string",    "client_transaction_id": "string",    "amount": 0  }'
{  "scores": {    "customer_initiated_return_risk": {      "score": 9,      "risk_tier": 1    },    "bank_initiated_return_risk": {      "score": 72,      "risk_tier": 7    }  },  "core_attributes": {    "unauthorized_transactions_count_7d": 0,    "unauthorized_transactions_count_30d": 0,    "unauthorized_transactions_count_60d": 0,    "unauthorized_transactions_count_90d": 0,    "nsf_overdraft_transactions_count_7d": 1,    "nsf_overdraft_transactions_count_30d": 1,    "nsf_overdraft_transactions_count_60d": 2,    "nsf_overdraft_transactions_count_90d": 2,    "days_since_first_plaid_connection": 510,    "plaid_connections_count_7d": 6,    "plaid_connections_count_30d": 7,    "total_plaid_connections_count": 15,    "is_savings_or_money_market_account": false,    "total_credit_transactions_amount_10d": 507.04,    "total_debit_transactions_amount_10d": 590.14,    "p50_credit_transactions_amount_28d": 46.79,    "p50_debit_transactions_amount_28d": 75,    "p95_credit_transactions_amount_28d": 155.95,    "p95_debit_transactions_amount_28d": 799.59,    "days_with_negative_balance_count_90d": 0,    "p90_eod_balance_30d": 555.71,    "p90_eod_balance_60d": 449.96,    "p90_eod_balance_90d": 434.38,    "p10_eod_balance_30d": 320.44,    "p10_eod_balance_60d": 320.46,    "p10_eod_balance_90d": 320.23,    "available_balance": 420.22,    "current_balance": 476,    "balance_last_updated": "2021-02-25T09:18:21Z",    "phone_change_count_28d": 0,    "phone_change_count_90d": 0,    "email_change_count_28d": 0,    "email_change_count_90d": 0,    "address_change_count_28d": 0,    "address_change_count_90d": 0  },  "request_id": "mdqfuVxeoza6mhu"}