To initiate Instant Account Verification for a customer using Dwolla's trusted open banking partners, you'll need to create an exchange session. Currently, Plaid, Visa and MX are the supported partners.
When creating an exchange session, provide the following information:
_links.exchange-partner
: The unique identifier for the desired open banking partner. Use the list exchange partners endpoint to retrieve available partners and their corresponding identifiers._links.redirect-url
(conditional): A required redirect URL for certain exchange sessions. This URL will be used to redirect the user back to your application after completing the authorization process. For Visa exchange sessions, a redirect URL is mandatory. For Plaid, this parameter is required only for mobile applications and varies by platform: Android requires a package name (e.g., com.example.package), while iOS requires a valid HTTPS or HTTP URL. For MX exchange sessions, this parameter is not required.
POST https://api.dwolla.com/customers/{id}/exchange-sessions
Property | Required | Type | Description | |
---|---|---|---|---|
_links | yes | object | HAL-JSON links that represent resource relationships required for creating an exchange session. (See more) |
HTTP Status | Code | Message | Description |
---|---|---|---|
201 | - | - | The Dwolla API accepted the request and created an exchange session resource. You can reference the Location header to retrieve a link that represents the created exchange session resource. |
400 | Invalid | /_links/exchange-partner/href is invalid. | ValidationError. Returned if the exchange partner URL is invalid. |
400 | Invalid | /_links/redirect-url/href is invalid. | ValidationError. Returned if the redirect URL is invalid. |
400 | Invalid | The provided redirect URL must exactly match one of the configured URLs for the account. | ValidationError. The redirect url does not match what is configured for the Dwolla account. |
401 | InvalidScope | Missing or invalid scopes for requested endpoint. | |
403 | Forbidden | The exchange partner specified does not support this product. | Returned if the exchange partner specified does not support the creation of exchange sessions. |
404 | NotFound | The requested resource was not found. |
POST https://api.dwolla.com/customers/74a207b2-b7b7-4efa-8bf8-582148e7b980/exchange-sessions
Accept: application/vnd.dwolla.v1.hal+json
Content-Type: application/vnd.dwolla.v1.hal+json
Authorization: Bearer pBA9fVDBEyYZCEsLf/wKehyh1RTpzjUj5KzIRfDi0wKTii7DqY
{
"_links": {
"exchange-partner": {
"href": "https://api.dwolla.com/exchange-partners/292317ec-e252-47d8-93c3-2d128e037aa4"
},
"redirect-url": {
"href": "https://www.yourdomain.com/iav-callback"
}
}
}
HTTP/1.1 201 Created
Location: https://api.dwolla.com/exchange-sessions/fcd15e5f-8d13-4570-a9b7-7fb49e55941d
POST https://api.dwolla.com/customers/74a207b2-b7b7-4efa-8bf8-582148e7b980/exchange-sessions
Accept: application/vnd.dwolla.v1.hal+json
Content-Type: application/vnd.dwolla.v1.hal+json
Authorization: Bearer pBA9fVDBEyYZCEsLf/wKehyh1RTpzjUj5KzIRfDi0wKTii7DqY
{
"_links": {
"exchange-partner": {
"href": "https://api.dwolla.com/exchange-partners/f53ffb32-c84f-496a-9d9d-acd100d396ef"
}
}
}
HTTP/1.1 201 Created
Location: https://api.dwolla.com/exchange-sessions/fcd15e5f-8d13-4570-a9b7-7fb49e55941d
POST https://api.dwolla.com/customers/74a207b2-b7b7-4efa-8bf8-582148e7b980/exchange-sessions
Accept: application/vnd.dwolla.v1.hal+json
Content-Type: application/vnd.dwolla.v1.hal+json
Authorization: Bearer pBA9fVDBEyYZCEsLf/wKehyh1RTpzjUj5KzIRfDi0wKTii7DqY
{
"_links": {
"exchange-partner": {
"href": "https://api.dwolla.com/exchange-partners/f53ffb32-c84f-496a-9d9d-acd100d396ef"
},
"redirect-url": {
"href": "com.example.app123"
}
}
}
HTTP/1.1 201 Created
Location: https://api.dwolla.com/exchange-sessions/fcd15e5f-8d13-4570-a9b7-7fb49e55941d
POST https://api.dwolla.com/customers/74a207b2-b7b7-4efa-8bf8-582148e7b980/exchange-sessions
Accept: application/vnd.dwolla.v1.hal+json
Content-Type: application/vnd.dwolla.v1.hal+json
Authorization: Bearer pBA9fVDBEyYZCEsLf/wKehyh1RTpzjUj5KzIRfDi0wKTii7DqY
{
"_links": {
"exchange-partner": {
"href": "https://api.dwolla.com/exchange-partners/f53ffb32-c84f-496a-9d9d-acd100d396ef"
},
"redirect-url": {
"href": "https://example.com/app123"
}
}
}
HTTP/1.1 201 Created
Location: https://api.dwolla.com/exchange-sessions/fcd15e5f-8d13-4570-a9b7-7fb49e55941d
POST https://api.dwolla.com/customers/74a207b2-b7b7-4efa-8bf8-582148e7b980/exchange-sessions
Accept: application/vnd.dwolla.v1.hal+json
Content-Type: application/vnd.dwolla.v1.hal+json
Authorization: Bearer pBA9fVDBEyYZCEsLf/wKehyh1RTpzjUj5KzIRfDi0wKTii7DqY
{
"_links": {
"exchange-partner": {
"href": "https://api.dwolla.com/exchange-partners/2164407f-33c3-4555-a6a1-40d5e9e58744"
}
}
}
HTTP/1.1 201 Created
Location: https://api.dwolla.com/exchange-sessions/fcd15e5f-8d13-4570-a9b7-7fb49e55941d
All funds transfers made using the Dwolla Platform are performed by a financial institution partner, and any funds held in a Dwolla Balance are held by a financial institution partner. Learn more about our financial institution partners.