Create a transfer authorization
Use the /transfer/authorization/create endpoint to authorize a transfer. This endpoint must be called prior to calling /transfer/create. The transfer authorization will expire if not used after one hour. (You can contact your account manager to change the default authorization lifetime.)
There are four possible outcomes to calling this endpoint:
-
If the authorization.decision in the response is declined, the proposed transfer has failed the risk check and you cannot proceed with the transfer.
-
If the authorization.decision is user_action_required, additional user input is needed, usually to fix a broken bank connection, before Plaid can properly assess the risk. You need to launch Link in update mode to complete the required user action. When calling /link/token/create to get a new Link token, instead of providing access_token in the request, you should set transfer.authorization_id as the authorization.id. After the Link flow is completed, you may re-attempt the authorization.
-
If the authorization.decision is approved, and the authorization.decision_rationale.code is null, the transfer has passed the risk check and you can proceed to call /transfer/create.
-
If the authorization.decision is approved and the authorization.decision_rationale.code is non-null, the risk check could not be run: you may proceed with the transfer, but should perform your own risk evaluation. For more details, see the response schema.
In Plaid's Sandbox environment the decisions will be returned as follows:
-
To approve a transfer with null rationale code, make an authorization request with an amount less than the available balance in the account.
-
To approve a transfer with the rationale code MANUALLY_VERIFIED_ITEM, create an Item in Link through the Same-Day Micro-deposits flow.
-
To get an authorization decision of user_action_required, reset the login for an Item.
-
To decline a transfer with the rationale code NSF, the available balance on the account must be less than the authorization amount. See Create Sandbox test data for details on how to customize data in Sandbox.
-
To decline a transfer with the rationale code RISK, the available balance on the account must be exactly $0. See Create Sandbox test data for details on how to customize data in Sandbox.
Request body
Response
OK