Ask AI or search...
Get API Keys

Create an exchange session for a customer #

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.

HTTP request #

POST https://api.dwolla.com/customers/{id}/exchange-sessions

Request parameters #

PropertyRequiredTypeDescription
_linksyesobjectHAL-JSON links that represent resource relationships required for creating an exchange session. (See more)

HTTP status and error codes #

HTTP StatusCodeMessageDescription
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.
400Invalid/_links/exchange-partner/href is invalid.ValidationError. Returned if the exchange partner URL is invalid.
400Invalid/_links/redirect-url/href is invalid.ValidationError. Returned if the redirect URL is invalid.
400InvalidThe 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.
401InvalidScopeMissing or invalid scopes for requested endpoint.
403ForbiddenThe exchange partner specified does not support this product.Returned if the exchange partner specified does not support the creation of exchange sessions.
404NotFoundThe requested resource was not found.

Request and Response (Visa) #

Raw
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

Request and Response (Plaid - Web) #

Raw
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

Request and Response (Plaid - Android) #

Raw
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

Request and Response (Plaid - iOS) #

Raw
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

Request and Response (MX) #

Raw
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
Test in the Sandbox for free today.
Use sandbox environment to test API requests.
Get API Keys
2025 All Rights Reserved
Financial institutions play an important role in our network.

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.