plaid

Report whether you initiated an ACH transaction

After you call /processor/signal/evaluate, Plaid will normally infer the outcome from your Signal Rules. However, if you are not using Signal Rules, if the Signal Rules outcome was REVIEW, or if you take a different action than the one determined by the Signal Rules, you will need to call /processor/signal/decision/report. This helps improve Signal Transaction Score accuracy for your account and is necessary for proper functioning of the rule performance and rule tuning capabilities in the Dashboard. If your effective decision changes after calling /processor/signal/decision/report (for example, you indicated that you accepted a transaction, but later on, your payment processor rejected it, so it was never initiated), call /processor/signal/decision/report again for the transaction to correct Plaid's records.

If you are using Plaid Transfer as your payment processor, you also do not need to call /processor/signal/decision/report, as Plaid can infer outcomes from your Transfer activity.

If using a Balance-only ruleset, this endpoint will not impact scores (Balance does not use scores), but is necessary to view accurate transaction outcomes and tune rule logic in the Dashboard.

post/processor/signal/decision/report

Request body

client_idstring

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.

secretstring

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.

processor_tokenstring required

The processor token obtained from the Plaid integration partner. Processor tokens are in the format: processor-<environment>-<identifier>

client_transaction_idstring required

Must be the same as the client_transaction_id supplied when calling /processor/signal/evaluate

initiatedboolean required

true if the ACH transaction was initiated, false otherwise.

This field must be returned as a boolean. If formatted incorrectly, this will result in an INVALID_FIELD error.

days_funds_on_holdinteger nullable

The actual number of days (hold time) since the ACH debit transaction that you wait before making funds available to your customers. The holding time could affect the ACH return rate.

For example, use 0 if you make funds available to your customers instantly or the same day following the debit transaction, or 1 if you make funds available the next day following the debit initialization.

decision_outcome'APPROVE' | 'REVIEW' | 'REJECT' | 'TAKE_OTHER_RISK_MEASURES' | 'NOT_EVALUATED' nullable

The payment decision from the risk assessment.

APPROVE: approve the transaction without requiring further actions from your customers. For example, use this field if you are placing a standard hold for all the approved transactions before making funds available to your customers. You should also use this field if you decide to accelerate the fund availability for your customers.

REVIEW: the transaction requires manual review

REJECT: reject the transaction

TAKE_OTHER_RISK_MEASURES: for example, placing a longer hold on funds than those approved transactions or introducing customer frictions such as step-up verification/authentication

NOT_EVALUATED: if only logging the results without using them

payment_method'SAME_DAY_ACH' | 'NEXT_DAY_ACH' | 'STANDARD_ACH' | 'MULTIPLE_PAYMENT_METHODS' | 'null' nullable

The payment method to complete the transaction after the risk assessment. It may be different from the default payment method.

SAME_DAY_ACH: Same Day ACH by Nacha. The debit transaction is processed and settled on the same day.

STANDARD_ACH: Standard ACH by Nacha.

MULTIPLE_PAYMENT_METHODS: if there is no default debit rail or there are multiple payment methods.

amount_instantly_availablenumber double nullable

The amount (in USD) made available to your customers instantly following the debit transaction. It could be a partial amount of the requested transaction (example: 102.05).

Response

OK

request_idstring required

A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.

Changes

Changed in 11 of the 52 revisions of this API.32818

    • added the new ASSETS_ERROR enum value to the error_type response property for the response status default

      response-property-enum-value-added

    • added the new CRA_MONITORING_ERROR enum value to the error_type response property for the response status default

      response-property-enum-value-added

    • added the new CREDIT_PROFILE_REPORT_ERROR enum value to the error_type response property for the response status default

      response-property-enum-value-added

    • added the new ENCOMPASS_ERROR enum value to the error_type response property for the response status default

      response-property-enum-value-added

    • added the new ENRICH_ERROR enum value to the error_type response property for the response status default

      response-property-enum-value-added

    • added the new FRAUD_INSIGHTS_ERROR enum value to the error_type response property for the response status default

      response-property-enum-value-added

    • added the new FREDDIE_MAC_ERROR enum value to the error_type response property for the response status default

      response-property-enum-value-added

    • added the new LINK_DELIVERY_ERROR enum value to the error_type response property for the response status default

      response-property-enum-value-added

    • added the new PROFILE_ERROR enum value to the error_type response property for the response status default

      response-property-enum-value-added

    • added the new RECURRING_TRANSACTIONS_ERROR enum value to the error_type response property for the response status default

      response-property-enum-value-added

    • added the new STATEMENTS_ERROR enum value to the error_type response property for the response status default

      response-property-enum-value-added

    • added the new TRANSFER_RECURRING_ERROR enum value to the error_type response property for the response status default

      response-property-enum-value-added

    • added the new TRANSFER_REFUND_ERROR enum value to the error_type response property for the response status default

      response-property-enum-value-added

    This revision also has 3 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

    • added the new IDEMPOTENCY_ERROR enum value to the error_type response property for the response status default

      response-property-enum-value-added

    • added the new BASE_REPORT_ERROR enum value to the error_type response property for the response status default

      response-property-enum-value-added

    This revision also has 8 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

    • added the optional property provided_account_subtypes to the response with the default status

      response-optional-property-added

    • added the optional property required_account_subtypes to the response with the default status

      response-optional-property-added

    This revision also has 4 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

    • removed the IDENTITY_ERROR enum value from the error_type response property for the response status default

      response-property-enum-value-removed

    • added the new IDENTITY_ERROR enum value to the error_type response property for the response status default

      response-property-enum-value-added

    • added the new USER_ERROR enum value to the error_type response property for the response status default

      response-property-enum-value-added

    This revision also has 4 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

    • added the new SIGNAL_ERROR enum value to the error_type response property for the response status default

      response-property-enum-value-added

  • b0b8ac37e34d21See the full diff
    • removed the enum value DEBIT_CARD of the request property payment_method

      request-property-enum-value-removed

    • removed the enum value REAL_TIME_PAYMENTS of the request property payment_method

      request-property-enum-value-removed

    • added the new undefined enum value to the request property payment_method

      request-property-enum-value-added

    This revision also has 4 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

    • added the new CHECK_REPORT_ERROR enum value to the error_type response property for the response status default

      response-property-enum-value-added

    • added the new CONSUMER_REPORT_ERROR enum value to the error_type response property for the response status default

      response-property-enum-value-added

    This revision also has 6 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

    • added the new PARTNER_ERROR enum value to the error_type response property for the response status default

      response-property-enum-value-added

    • added the new SANDBOX_ERROR enum value to the error_type response property for the response status default

      response-property-enum-value-added

    • added the new TRANSACTIONS_ERROR enum value to the error_type response property for the response status default

      response-property-enum-value-added

    • added the new TRANSACTION_ERROR enum value to the error_type response property for the response status default

      response-property-enum-value-added

    • added the new TRANSFER_ERROR enum value to the error_type response property for the response status default

      response-property-enum-value-added

    • added the optional property error_code_reason to the response with the default status

      response-optional-property-added

    This revision also has 9 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog