Initiate a transfer - Dwolla Developer Portal

Documentation Index

Fetch the complete documentation index at: /llms.txt

Use this file to discover all available pages before exploring further.

POST

https://api.dwolla.comhttps://api-sandbox.dwolla.com

/transfers

cURL

POST https://api-sandbox.dwolla.com/transfers
Accept: application/vnd.dwolla.v1.hal+json
Content-Type: application/vnd.dwolla.v1.hal+json
Authorization: Bearer pBA9fVDBEyYZCEsLf/wKehyh1RTpzjUj5KzIRfDi0wKTii7DqY

{
  "_links": {
    "source": {
      "href": "https://api-sandbox.dwolla.com/funding-sources/707177c3-bf15-4e7e-b37c-55c3898d9bf4"
    },
    "destination": {
      "href": "https://api-sandbox.dwolla.com/funding-sources/9c7f8d57-cd45-4e7a-bf7a-914dbd6131db"
    }
  },
  "amount": {
    "currency": "USD",
    "value": "1.00"
  },
  "clearing": {
    "source": "standard",
    "destination": "next-available"
  },
  "achDetails": {
    "source": {
      "addenda": {
        "values": ["ABC123_AddendaValue"]
      }
    },
    "destination": {
      "addenda": {
        "values": ["ZYX987_AddendaValue"]
      }
    }
  },
  "instantDetails": {
    "destination": {
      "remittanceData": "ABC_123 Remittance Data"
    }
  },
  "fees": [
    {
      "_links": {
        "charge-to": {
          "href": "https://api-sandbox.dwolla.com/customers/d795f696-2cac-4662-8f16-95f1db9bddd8"
        }
      },
      "amount": {
        "value": "4.00",
        "currency": "USD"
      }
    }
  ],
  "metadata": {
    "key": "value"
  },
  "correlationId": "6d127333-69e9-4c2b-8cae-df850228e130",
  "processingChannel": {
    "destination": "instant"
  }
}
// Using dwolla-v2 - https://github.com/Dwolla/dwolla-v2-node
var requestBody = {
  _links: {
    source: {
      href: "https://api-sandbox.dwolla.com/funding-sources/707177c3-bf15-4e7e-b37c-55c3898d9bf4",
    },
    destination: {
      href: "https://api-sandbox.dwolla.com/funding-sources/9c7f8d57-cd45-4e7a-bf7a-914dbd6131db",
    },
  },
  amount: {
    currency: "USD",
    value: "1.00",
  },
  clearing: {
    source: "standard",
    destination: "next-available",
  },
  achDetails: {
    source: {
      addenda: {
        values: ["ABC123_AddendaValue"],
      },
    },
    destination: {
      addenda: {
        values: ["ZYX987_AddendaValue"],
      },
    },
  },
  instantDetails: {
    destination: {
      remittanceData: "ABC_123 Remittance Data",
    },
  },
  fees: [
    {
      _links: {
        "charge-to": {
          href: "https://api-sandbox.dwolla.com/customers/d795f696-2cac-4662-8f16-95f1db9bddd8",
        },
      },
      amount: {
        value: "4.00",
        currency: "USD",
      },
    },
  ],
  metadata: {
    key: "value",
  },
  correlationId: "6d127333-69e9-4c2b-8cae-df850228e130",
  processingChannel: {
    destination: "instant",
  },
};

dwolla
  .post("transfers", requestBody)
  .then((res) => res.headers.get("location")); // => 'https://api-sandbox.dwolla.com/transfers/0e6b8c1e-7b6e-4b2e-8e2e-1b2e2e2e2e'
# Using dwollav2 - https://github.com/Dwolla/dwolla-v2-python
request_body = {
  '_links': {
    'source': {
      'href': 'https://api-sandbox.dwolla.com/funding-sources/707177c3-bf15-4e7e-b37c-55c3898d9bf4'
    },
    'destination': {
      'href': 'https://api-sandbox.dwolla.com/funding-sources/9c7f8d57-cd45-4e7a-bf7a-914dbd6131db'
    }
  },
  'amount': {
    'currency': 'USD',
    'value': '1.00'
  },
  'clearing': {
    'source': 'standard',
    'destination': 'next-available'
  },
  'achDetails': {
    'source': {
      'addenda': {
        'values': ['ABC123_AddendaValue']
      }
    },
    'destination': {
      'addenda': {
        'values': ['ZYX987_AddendaValue']
      }
    }
  },
  'instantDetails': {
    'destination': {
      'remittanceData': 'ABC_123 Remittance Data'
    }
  },
  'fees': [
    {
      '_links': {
        'charge-to': {
          'href': 'https://api-sandbox.dwolla.com/customers/d795f696-2cac-4662-8f16-95f1db9bddd8'
        }
      },
      'amount': {
        'value': '4.00',
        'currency': 'USD'
      }
    }
  ],
  'metadata': {
    'key': 'value'
  },
  'correlationId': '6d127333-69e9-4c2b-8cae-df850228e130',
  'processingChannel': {
    'destination': 'instant'
  }
}

transfer = app_token.post('transfers', request_body)
transfer.headers['location'] # => 'https://api-sandbox.dwolla.com/transfers/0e6b8c1e-7b6e-4b2e-8e2e-1b2e2e2e2e2e'
<?php
// Using dwollaswagger - https://github.com/Dwolla/dwolla-swagger-php
$transfersApi = new DwollaSwagger\TransfersApi($apiClient);

$transfer = $transfersApi->create([
  '_links' => [
    'source' => [
      'href' => 'https://api-sandbox.dwolla.com/funding-sources/707177c3-bf15-4e7e-b37c-55c3898d9bf4',
    ],
    'destination' => [
      'href' => 'https://api-sandbox.dwolla.com/funding-sources/9c7f8d57-cd45-4e7a-bf7a-914dbd6131db',
    ]
  ],
  'amount' => [
    'currency' => 'USD',
    'value' => '1.00'
  ],
  'clearing' => [
    'source' => 'standard',
    'destination' => 'next-available'
  ],
  'achDetails' => [
    'source' => [
      'addenda' => [
        'values' => ['ABC123_AddendaValue']
      ]
    ],
    'destination' => [
      'addenda' => [
        'values' => ['ZYX987_AddendaValue']
      ]
    ]
  ],
  'instantDetails' => [
    'destination' => [
      'remittanceData' => 'ABC_123 Remittance Data'
    ]
  ],
  'fees' => [
    [
      '_links' => [
        'charge-to' => [
          'href' => 'https://api-sandbox.dwolla.com/customers/d795f696-2cac-4662-8f16-95f1db9bddd8',
        ]
      ],
      'amount' => [
        'value' => '4.00',
        'currency' => 'USD'
      ]
    ]
  ],
  'metadata' => [
    'key' => 'value'
  ],
  'correlationId' => '6d127333-69e9-4c2b-8cae-df850228e130',
  'processingChannel' => [
    'destination' => 'instant'
  ]
]);
$transfer; # => "https://api-sandbox.dwolla.com/transfers/0e6b8c1e-7b6e-4b2e-8e2e-1b2e2e2e2e2e"
?>
# Using dwolla_v2 - https://github.com/Dwolla/dwolla-v2-ruby
request_body = {
  :_links => {
    :source => {
      :href => "https://api-sandbox.dwolla.com/funding-sources/707177c3-bf15-4e7e-b37c-55c3898d9bf4"
    },
    :destination => {
      :href => "https://api-sandbox.dwolla.com/funding-sources/9c7f8d57-cd45-4e7a-bf7a-914dbd6131db"
    }
  },
  :amount => {
    :currency => "USD",
    :value => "1.00"
  },
  :clearing => {
    :source => "standard",
    :destination => "next-available"
  },
  :achDetails => {
    :source => {
      :addenda => {
        :values => ["ABC123_AddendaValue"]
      }
    },
    :destination => {
      :addenda => {
        :values => ["ZYX987_AddendaValue"]
      }
    }
  },
  :instantDetails => {
    :destination => {
      :remittanceData => "ABC_123 Remittance Data"
    }
  },
  :fees => [
    {
      :_links => {
        :"charge-to" => {
          :href => "https://api-sandbox.dwolla.com/customers/d795f696-2cac-4662-8f16-95f1db9bddd8"
        }
      },
      :amount => {
        :value => "4.00",
        :currency => "USD"
      }
    }
  ],
  :metadata => {
    :key => "value"
  },
  :correlationId => "6d127333-69e9-4c2b-8cae-df850228e130",
  :processingChannel => {
    :destination => "instant"
  }
}

transfer = app_token.post "transfers", request_body
transfer.response_headers[:location] # => "https://api-sandbox.dwolla.com/transfers/0e6b8c1e-7b6e-4b2e-8e2e-1b2e2e2e2e2e"

400

403

429

{
  "code": "ValidationError",
  "message": "Validation error(s) present. See embedded errors list for more details.",
  "_embedded": {
    "errors": [
      {
        "code": "Invalid",
        "message": "Funding source not found.",
        "path": "/_links/source/href",
        "_links": {}
      }
    ]
  }
}
{
  "code": "Forbidden",
  "message": "Invalid Funds Flow: this operation requires the funds flow 'Facilitate' to be enabled"
}
{
  "code": "TooManyRequests",
  "message": "Concurrent transfers with the given funding source are not supported. Please wait a short period of time before re-attempting the request."
}

Authorizations

Authorization

string

header

required

The access token received from the authorization server in the OAuth 2.0 flow.

Headers

Accept

enum

default:application/vnd.dwolla.v1.hal+json

required

The media type of the response. Must be application/vnd.dwolla.v1.hal+json

Available options:

application/vnd.dwolla.v1.hal+json

Body

application/json

Parameters to initiate a transfer

{
  "_links": {/* required */},
  "amount": { /* required */},
  "metadata": {/* optional */},
  "fees": { /* optional */},
  "clearing": {/* optional */},
  "achDetails": {/* optional */},
  "instantDetails": {/* optional */},
  "correlationId": {/* optional */},
  "processingChannel": {/* optional */}
}

Response

201

created