> ## Documentation Index
> Fetch the complete documentation index at: https://www.marqeta.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Create ACH program source

> Create an ACH program funding source.

POST/fundingsources/program/ach

Create an ACH program funding source.

## Request body

| Fields | Description |
| - | - |
| account\_number string  Required | ACH account number. **Allowable Values:**  36 char max |
| account\_type string  Required | Type of account. **Allowable Values:**  `checking`, `savings`, `corporate`, `loan` |
| bank\_name string  Optional | Name of the bank holding the account. **Allowable Values:**  255 char max |
| is\_default\_account boolean  Optional | If there are multiple funding sources, this field specifies which source is used by default in funding calls. If there is only one funding source, the system ignores this field and always uses that source. **Allowable Values:**  `true`, `false` **Default value:** `false` |
| name\_on\_account string  Required | Name on the ACH account. **Allowable Values:**  1–50 chars |
| routing\_number string  Required | Routing number for the ACH account. **Allowable Values:**  9 digits |
| token string  Optional | Unique identifier of the funding source. If you do not include a token, the system will generate one automatically. This token is necessary for use in other calls, so we recommend that rather than let the system generate one, you use a simple string that is easy to remember. This value cannot be updated. **Allowable Values:**  1–36 chars |
| verification\_notes string  Optional | Free-form text field for holding notes about verification. This field is returned only if `verification_override = true`. **Allowable Values:**  255 char max |
| verification\_override boolean  Optional | Allows the ACH funding source to be used, regardless of its verification status. Set this field to `true` if you can attest that you have verified the account on your own and that it will not be returned by the Federal Reserve. **NOTE:** When using `PLAID` to validate a funding source, this field is always set to `true`. **Allowable Values:**  `true`, `false` **Default value:** `false` |

## Sample request body

```json JSON lines wrap theme={null}
{
  "name_on_account": "John Doe",
  "account_number": "888271159",
  "routing_number": "121000357",
  "account_type": "checking",
  "is_default_account": true,
  "verification_override": true,
  "verification_notes": "testing"
}
```

## Response body

| Fields | Description |
| - | - |
| account\_suffix string  Returned | ACH account identifier appended to the bank account number. **Allowable Values:**  255 char max |
| account\_type string  Returned | Type of account. **Allowable Values:**  `checking`, `savings`, `corporate`, `loan` |
| active boolean  Returned | Specifies whether the account is active. **Allowable Values:**  `true`, `false` |
| bank\_name string  Conditionally returned | Name of the bank holding the account. This field is returned if it exists in the resource. **Allowable Values:**  255 char max |
| created\_time datetime  Returned | Date and time when the resource was created, in UTC. **Allowable Values:**  datetime **Format:** yyyy-MM-ddThh:mm:ssZ |
| date\_sent\_for\_verification datetime  Conditionally returned | Date and time in UTC when the request for account validation was sent to the third-party partner. This field is returned if it exists in the resource. **Allowable Values:**  datetime **Format:** yyyy-MM-ddThh:mm:ssZ |
| date\_verified datetime  Conditionally returned | Date and time when the account was verified, in UTC. This field is returned if it exists in the resource. **Allowable Values:**  datetime **Format:** yyyy-MM-ddThh:mm:ssZ |
| is\_default\_account boolean  Conditionally returned | If there are multiple funding sources, this field specifies which source is used by default in funding calls. If there is only one funding source, the system ignores this field and always uses that source. **Allowable Values:**  `true`, `false` |
| last\_modified\_time datetime  Returned | Date and time when the resource was last modified, in UTC. **Allowable Values:**  datetime **Format:** yyyy-MM-ddThh:mm:ssZ |
| name\_on\_account string  Returned | Name on the ACH account. **Allowable Values:**  1–50 chars |
| token string  Returned | Unique identifier of the funding source. **Allowable Values:**  Existing funding source token |
| verification\_notes string  Conditionally returned | Free-form text field for holding notes about verification. This field is returned only if `verification_override = true`. **Allowable Values:**  255 char max |
| verification\_override boolean  Conditionally returned | Allows the ACH funding source to be used regardless of its verification status. This field is returned if it exists in the resource. **NOTE:** When using `PLAID` to validate a funding source, this field is always set to `true`. **Allowable Values:**  `true`, `false` |
| verification\_status string  Conditionally returned | Account verification status. This field is returned if it exists in the resource. **Allowable Values:**  `ACH_FAILED`, `ACH_VERIFIED`, `VERIFICATION_PENDING` |

## Sample response body

```json JSON lines wrap theme={null}
{
  "token": "my_program_ach_source_token",
  "name_on_account": "John Doe",
  "account_type": "checking",
  "account_suffix": "1156",
  "is_default_account": true,
  "active": true,
  "verification_status": "ACH_VERIFIED",
  "created_time": "2023-02-27T18:40:27Z",
  "last_modified_time": "2023-02-27T18:40:27Z"
}
```


## Related topics

- [Program Funding Sources Overview](https://www.marqeta.com/docs/core-api/program-funding-sources.md)
- [Create ACH source](https://www.marqeta.com/docs/core-api/account-holder-funding-sources/ach-sources/create-ach-source.md)
- [Create ACH source via a partner integration](https://www.marqeta.com/docs/core-api/account-holder-funding-sources/ach-sources/create-ach-via-partner-integration.md)
- [List ACH program sources](https://www.marqeta.com/docs/core-api/program-funding-sources/list-ach.md)
- [Create program source](https://www.marqeta.com/docs/core-api/program-funding-sources/create-program-source.md)
