# Request ACH Onboarding

<table data-header-hidden><thead><tr><th width="74.8046875" align="center"></th><th></th></tr></thead><tbody><tr><td align="center"><mark style="color:blue;"><strong>POST</strong></mark> </td><td>https://api.sfox.com/v1/account/onboard-ach</td></tr></tbody></table>

Initiate the process of enabling ACH transfers for a user by onboarding a user with a linked bank account to Dwolla. "Onboarding" consists of recording the user's acceptance of the [agreements](https://docs.sfox.com/connect/rest-api/payments/get-ach-agreement-status), if applicable, and creating a Dwolla profile for the user.

***

{% hint style="info" %}
The user must have a bank account linked to their sFOX account in order to initiate the request. Refer to the [Banking](https://docs.sfox.com/connect/rest-api/payments) section of this documentation for details regarding linking and managing users' bank accounts.
{% endhint %}

## Request

{% hint style="info" %}
**Authentication:** This endpoint requires a [User Auth Token](https://docs.sfox.com/connect/rest-api/end-users/create-user-auth-token) for authentication. Requests using your Connect API Key will be rejected.
{% endhint %}

### Body Parameters

<table><thead><tr><th width="306.71484375">Name</th><th width="94.7578125" align="center">Type</th><th>Description</th></tr></thead><tbody><tr><td><strong><code>bank_account_display_id</code></strong> <mark style="color:red;">required</mark></td><td align="center">string</td><td>The <strong><code>id</code></strong> parameter of the user's <a href="get-bank-account">linked bank account</a></td></tr></tbody></table>

### Example Requests

{% tabs %}
{% tab title="Shell" %}

```sh
curl -X POST \
-H "Authorization: Bearer ${USER_AUTH_TOKEN}" \
-H "Content-Type: application/json" \
-data '{"bank_account_display_id": "${BANK_ACCOUNT_DISPLAY_ID}"}'
\ "https://api.sfox.com/v1/account/onboard-ach"
```

{% endtab %}

{% tab title="NodeJS" %}

```javascript
const axios = require('axios');
axios({
  method: 'post',
  url: 'https://api.sfox.com/v1/account/onboard-ach',
  headers: {
    'Authorization': 'Bearer <USER_AUTH_TOKEN>',
  },
  data: {
    bank_account_display_id: 'aksaNjjsfdbn123ksd91283n',
  }
}).then(response => {
  console.log(response);
}).catch(error => {
  console.error(err);
});
```

{% endtab %}

{% tab title="Python" %}

```python
import requests

data = requests.post(
    "https://api.sfox.com/v1/account/onboard-ach",
    headers = {
        "Authorization": "Bearer <USER_AUTH_TOKEN>",
        },
        data {"bank_account_display_id": "askdnasidu123Nisund",
        }
    )
print (data)
    
```

{% endtab %}
{% endtabs %}

## Response

### Responses

<details>

<summary><mark style="color:green;">200</mark> OK</summary>

<pre class="language-json"><code class="lang-json"><strong>//ACH onboarding completed successfully.
</strong><strong>{
</strong>    "data": {
        "success": true 
    }
}
</code></pre>

</details>
