---
title: "Create customer funding source"
method: POST
path: "/customers/{id}/funding-sources"
tags: ["funding sources"]
---

# Create customer funding source

`POST /customers/{id}/funding-sources`

Creates a bank account or debit card funding source for a customer. Supports multiple methods including manual entry with routing/account numbers, instant verification using existing open banking connections, debit card addition via Exchange, and virtual account numbers. Bank funding sources require verification before transfers can be initiated.

## Path parameters

- `id` string, required

## Headers

- `Accept` 'application/vnd.dwolla.v1.hal+json', required

## Response `201`

created

## Other responses

- `400` — validation error
- `403` — forbidden
- `404` — not found

## Changes

- **2026-02-26** `f0afc7cade4e` — 1 breaking, 1 info
  - added `#/components/schemas/InvalidTokenError` to the response body `oneOf` list for the response status `400`
  - removed `#/components/schemas/InvalidCardTokenError` from the response body `oneOf` list for the response status `400`
- **2026-02-26** `defd766f73c3` — 1 breaking, 1 info
  - removed `#/components/schemas/CreateCustomerCardFundingSource` from the request body `oneOf` list
  - added `#/components/schemas/CreateCustomerCardFundingSourceWithExchange` to the request body `oneOf` list
- **2026-01-13** `7b6082a00027` — 2 info
  - removed the `ValidationError` enum value from the `oneOf[subschema #4: UnsupportedCardCountryError]/code` response property for the response status `400`
  - removed the `ValidationError` enum value from the `oneOf[subschema #5: InvalidCardTokenError]/code` response property for the response status `400`
- **2026-01-06** `3ddce254729a` — 1 breaking, 1 info
  - added `#/components/schemas/UnsupportedCardCountryError, #/components/schemas/InvalidCardTokenError, #/components/schemas/MaximumCardsExceededError, #/components/schemas/CardMissingRequiredFieldsError` to the response body `oneOf` list for the response status `400`
  - added `#/components/schemas/CreateCustomerCardFundingSource` to the request body `oneOf` list
- …earlier changes not shown

[Full history](https://skmtc.dev/dwolla/apis/dwolla-api/changes/customers/:id/funding-sources/post.md)

---

[API](https://skmtc.dev/dwolla/apis/dwolla-api.md) · [All operations](https://skmtc.dev/dwolla/apis/dwolla-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/dwolla/dwolla-api/revisions/0e13062ae3be/schema)
