This section contains information on how to create an exchange for a reseller partner or client account. The creation of an exchange serves as the “hand-shake” between Dwolla and a trusted ecosystem partner. The creation of an exchange requires a _link
to the exchange partner and tokenized data which encapsulates limited permissioned access between an ecosystem partner and Dwolla.
POST https://api.dwolla.com/exchanges
Property | Required | Type | Description | |
---|---|---|---|---|
_links | yes | object | HAL-JSON links that represent resource relationships required for creating an exchange. | |
token | conditional | string | A third party provider processor token. Required for MX, Flinks, and Plaid integrations. | |
mx | conditional | object | A MX object containing memberId and accountId information for the selected bank account via the Instant Account Verification (IAV) flow. Note: Only used with Exchange Sessions API and pre-integrated open banking providers. | |
finicity | conditional | object | Finicity resource object containing access key receipt information. Required for Finicity integration. See finicity JSON object below (including nested product and accessPeriod JSON objects). |
HTTP Status | Code | Description |
---|---|---|
201 | Created | The Dwolla API accepted the request and created an exchange resource. You can reference the Location header to retrieve a link that represents the created exchange resource. |
400 | InvalidExchangeToken | The exchange token is not valid to perform this operation. Either the token is expired or invalid, or the products permissions to the token are invalid or expired. |
400 | InactiveExchange | Exchange was removed or disabled. |
401 | InvalidScope | The scopes for creating an exchange resource for an account is not enabled for this application. Reach out to Dwolla for more information. |
POST https://api.dwolla.com/exchanges
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"
}
},
"token": "someMXProcessorToken"
}
HTTP/1.1 201 Created
Location: https://api.dwolla.com/exchanges/fcd15e5f-8d13-4570-a9b7-7fb49e55941d
POST https://api.dwolla.com/exchanges
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/a0b22a57-68df-4450-b507-47c937e64e89"
}
},
"token": "MTExYTFhMWEtMTExMS0xYWExLTExMTEtMTFhMTExYTExMTFhOjIyMmIyYjFiLTIyMjItMmJiMi0yMjIyLTIyYjIyMmIyMjIyYg=="
}
HTTP/1.1 201 Created
Location: https://api.dwolla.com/exchanges/fcd15e5f-8d13-4570-a9b7-7fb49e55941d
POST https://api.dwolla.com/exchanges
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"
}
},
"finicity": {
"profile": 3,
"version": "1",
"receiptId": "cr_4N47ou7SlppuIxq0ZUtACh10vYcloY",
"receiptVersion": "1",
"customerId": "5454874858510164117",
"partnerId": 2445583946651,
"products": [
{
"product": "moneyTransferDetails",
"accountId": "1015199035827334916",
"accessPeriod": {
"type": "timeframe",
"startTime": "2022-07-06",
"endTime": "2022-08-16T06:06:20Z"
}
}
],
"timestamp": "2022-07-11T06:06:23Z"
}
}
HTTP/1.1 201 Created
Location: https://api.dwolla.com/exchanges/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.