POST /transfer/create
Use the /transfer/create
endpoint to initiate a new transfer. This endpoint is retryable and idempotent; if a transfer with the provided transfer_id
has already been created, it will return the transfer details without creating a new transfer. A transfer may still be created if a 500 error is returned; to detect this scenario, use Transfer events.
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 |
---|---|---|---|
network |
String | No |
The network or rails used for the transfer. For transfers submitted as For transfers submitted as For transfers submitted as Wire transfers are currently in early availability. To request access to Possible values:
|
description |
String | Yes |
The transfer description. Maximum of 15 characters. If reprocessing a returned transfer, please note that the |
client_id |
String | No |
Your Plaid API |
metadata |
Object | No |
The Metadata object is a mapping of client-provided string fields to any string value. The following limitations apply: The JSON values must be Strings (no nested JSON objects allowed) Only ASCII characters may be used Maximum of 50 key/value pairs Maximum key length of 40 characters Maximum value length of 500 characters |
test_clock_id |
String | No |
Plaid’s unique identifier for a test clock. This field may only be used when using |
idempotency_key |
String | No |
Deprecated. A random key provided by the client, per unique transfer. Maximum of 50 characters. The API supports idempotency for safely retrying requests without accidentally performing the same operation twice. For example, if a request to create a transfer fails due to a network connection error, you can retry the request with the same idempotency key to guarantee that only a single transfer is created. |
iso_currency_code |
String | No |
The currency of the transfer amount. The default value is "USD". |
authorization_id |
String | Yes |
Plaid’s unique identifier for a transfer authorization. This parameter also serves the purpose of acting as an idempotency identifier. |
facilitator_fee |
String | No |
The amount to deduct from |
user |
Object | No |
The legal name and other information for the account holder. |
user.email_address |
String | No |
The user's email address. |
user.legal_name |
String | No |
The user's legal name. |
user.address |
Object | No |
The address associated with the account holder. |
user.address.region |
String | No |
The state or province (e.g., "CA"). |
user.address.postal_code |
String | No |
The postal code (e.g., "94103"). |
user.address.country |
String | No |
A two-letter country code (e.g., "US"). |
user.address.street |
String | No |
The street number and name (i.e., "100 Market St."). |
user.address.city |
String | No |
Ex. "San Francisco" |
user.phone_number |
String | No |
The user's phone number. |
origination_account_id |
String | No |
Plaid’s unique identifier for the origination account for this transfer. If you have more than one origination account, this value must be specified. Otherwise, this field should be left blank. |
amount |
String | No |
The amount of the transfer (decimal string with two digits of precision e.g. "10.00"). When calling |
ach_class |
String | No |
Specifies the use case of the transfer. Required for transfers on an ACH network. For more details, see ACH SEC codes. Codes supported for credits:
Possible values:
|
type |
String | No |
The type of transfer. This will be either Possible values:
|
account_id |
String | Yes |
The Plaid |
access_token |
String | Yes |
The Plaid |
secret |
String | No |
Your Plaid API |
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.