Marqeta.com
Support
/
10 minute read
September 25, 2020

Account Holder Funding Sources

Use the

/fundingsources/ach
and
/fundingsources/paymentcard
endpoints to create account holder funding sources. A funding source enables access to funds outside of the Marqeta platform.

For more information on users and businesses, see About Account Holders.

Create ACH source

Action:

POST

Endpoint:
/fundingsources/ach

Create an ACH funding source for an existing account holder. Specify the account holder of the funding source by passing a user or business token.

When adding an ACH funding source, a small amount is deposited in the bank account as a test. The test deposit should be reflected in the account after two to three business days. You must then make an API call to verify the deposit amount in order to activate the ACH account. See "Verify or Update ACH Funding Source" on this page for more information.

The response body returns details about the account, including the verification status. Possible ACH verification status values include

VERIFICATION_PENDING
,
ACH_VERIFIED
, and
ACH_FAILED
.

Body field details
Fields Description

token

string
Optional

The 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:

36 char max

user_token OR business_token

string
Required

Specifies the owner of the funding source.

Allowable Values:

Existing user or business token.

Send a

GET
request to
/users
to retrieve user tokens or to
/businesses
to retrieve business tokens.

Default value:

false

account_number

string
Required

The ACH account number.

Allowable Values:

36 char max

name_on_account

string
Required

The name on the ACH account.

Allowable Values:

40 char max

routing_number

string
Required

The routing number for the ACH account.

Allowable Values:

9 digits

account_type

string
Required

The type of account.

Allowable Values:

checking, savings, corporate

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. If you do not specify this field upon creation, the system sets it to

false
.

Allowable Values:

true
,
false

Default value:

false

verification_override

boolean
Optional

Allows the ACH funding source to be used regardless of its verification status.

Allowable Values:

true
,
false

Default value:

false

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

Sample request body
Copied

Is this helpful?

Yes
No
Sample response body
Copied

Is this helpful?

Yes
No

Retrieve ACH source

Action:

GET

Endpoint:
/fundingsources/ach/{funding_source_token}

Retrieve a specific ACH funding source.

The response body returns details about the account, including the verification status. Possible ACH verification status values are:

VERIFICATION_PENDING
,
ACH_VERIFIED
, and
ACH_FAILED
.

URL path parameters
Fields Description

funding_source_token

string
Required

Identifies the ACH funding source to retrieve.

Allowable Values:

Existing ACH funding source token.

Send a

GET
request to
/fundingsources/user/{user_token}
to retrieve existing funding source tokens for a user or to
/fundingsources/business/{business_token}
to retrieve existing funding source tokens for a business.

Sample response body
Copied

Is this helpful?

Yes
No

Retrieve ACH verification amounts

Action:

GET

Endpoint:
/fundingsources/ach/{funding_source_token}/verificationamounts

In your sandbox environment, retrieve the amounts used to verify the association with your ACH account.

Use this endpoint for testing purposes only. In production, verification amounts are retrieved from the bank statement of the account holder.

URL path parameters
Fields Description

funding_source_token

string
Required

Identifies the ACH funding source for which you want to retrieve verification deposit amounts.

Allowable Values:

Existing ACH funding source token.

Send a

GET
request to
/fundingsources/user/{user_token}
to retrieve existing funding source tokens for a user or to
/fundingsources/business/{business_token}
to retrieve existing funding source tokens for a business.

Sample response body
Copied

Is this helpful?

Yes
No

Verify or update ACH source

Action:

PUT

Endpoint:
/fundingsources/ach/{funding_source_token}

Verify or update an ACH funding source.

If you are verifying the ACH source, include the verification amounts in the body of the request. ACH verification will fail if the verification amounts are not entered in the correct order.

verify_amount1
must match the first deposit amount, and
verify_amount2
must match the second.

If you are updating the ACH source, include the

active
field instead. The
active
field is the only field you can update.

URL path parameters
Fields Description

funding_source_token

string
Required

Identifies the ACH funding source to verify.

Allowable Values:

Existing ACH funding source token.

Send a

GET
request to
/fundingsources/user/{user_token}
to retrieve existing funding source tokens for a user or to
/fundingsources/business/{business_token}
to retrieve existing funding source tokens for a business.

Body field details
Fields Description

active

boolean
Optional

Indicates whether the ACH funding source is active.

Allowable Values:

true
,
false

verify_amount1

decimal
Optional

Verification amount.

Allowable Values:

Format: 0.00

verify_amount2

decimal
Optional

Verification amount.

Allowable Values:

Format: 0.00

Sample request body
Copied

Is this helpful?

Yes
No
Sample response body
Copied

Is this helpful?

Yes
No

Create payment card source

Action:

POST

Endpoint:
/fundingsources/paymentcard

Create a payment card funding source for an existing account holder. Returns the card type and the last 4 digits of the card, and sets the

active_ field
to
true
.

Marqeta retains only a tokenized representation of the card number.

Note
This endpoint is only available to its current users.
Body field details
Fields Description

token

string
Optional

The unique identifier of the funding account. If you do not include a token, the system will generate one automatically. As this token is necessary for use in other calls, we recommend that you define a simple and easy to remember string rather than letting the system generate a token for you. This value cannot be updated.

Allowable Values:

36 char max

postal_code

string
Optional

Postal code of the account holder (user or business).

Allowable Values:

10 char max

account_number

string
Required

Payment card account number.

Allowable Values:

16-digit number

exp_date

string
Required

Payment card expiration date.

Allowable Values:

mmyy

user_token

OR

business_token

string
Required

Specifies the owner of the funding source.

Allowable Values:

Existing user or business token.

Send a

GET
request to
/users
to retrieve user tokens or to
/businesses
to retrieve business tokens.

cvv_number

string
Required

Payment card CVV2 number.

Allowable Values:

3-4 characters

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. If you do not specify this field upon creation, the system sets it to

false
.

Allowable Values:

true
,
false

Default value:

false

Sample request body
Copied

Is this helpful?

Yes
No
Sample response body
Copied

Is this helpful?

Yes
No

Retrieve payment card source

Action:

GET

Endpoint:
/fundingsources/paymentcard/{funding_source_token}

Retrieve a specific payment card funding source.

Note
This endpoint is only available to its current users.
URL path parameters
Fields Description

funding_source_token

string
Required

Identifies the payment card funding source you want to retrieve.

Allowable Values:

Existing payment card funding source token.

Send a

GET
request to
/fundingsources/user/{user_token}
to retrieve existing funding source tokens for a user or to
/fundingsources/business/{business_token}
to retrieve existing funding source tokens for a business.

Sample response body
Copied

Is this helpful?

Yes
No

Update payment card source

Action:

PUT

Endpoint:
/fundingsources/paymentcard/{funding_source_token}

Update a payment card funding source. Only the values of parameters in the request are modified; all others are left unchanged.

Note
This endpoint is only available to its current users.
URL path parameters
Fields Description

funding_source_token

string
Required

Identifies the payment card funding source you want to retrieve.

Allowable Values:

Existing payment card funding source token.

Send a

GET
request to
/fundingsources/user/{user_token}
to retrieve existing funding source tokens for a user or to
/fundingsources/business/{business_token}
to retrieve existing funding source tokens for a business.

Body field details
Fields Description

active

boolean
Optional

Indicates whether the card funding source is active.

Allowable Values:

true
,
false

Default value:

true

exp_date

string
Optional

The expiration date for the payment card.

Allowable Values:

mmyy

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

Sample request body
Copied

Is this helpful?

Yes
No
Sample response body
Copied

Is this helpful?

Yes
No

List sources for a user

Action:

GET

Endpoint:
/fundingsources/user/{user_token}

List funding sources associated with a specific user.

This endpoint supports field filtering.

URL path parameters
Fields Description

user_token

string
Required

Identifies the owner of the funding sources you want to list.

Allowable Values:

Existing user token.

Send a

GET
request to
/users
to retrieve existing user tokens.

Query parameters
Fields Description

type

string
Optional

Type of funding source to return: ACH or payment card. Leave unspecified to return both types.

Allowable Values:

paymentcard, ach

Default value:
empty (all types)

Sample response body
Copied

Is this helpful?

Yes
No

List sources for a business

Action:

GET

Endpoint:
/fundingsources/business/{business_token}

List funding sources associated with a specific business.

This endpoint supports field filtering.

URL path parameters
Fields Description

business_token

string
Required

Identifies the business whose funding sources you want to retrieve.

Allowable Values:

Existing business token.

Send a

GET
request to
/businesses
to retrieve existing business tokens.

Query parameters
Fields Description

type

string
Optional

Type of funding source to return: ACH or payment card. Leave unspecified to return both types.

Allowable Values:

paymentcard, ach

Default value:
empty (all types)

Sample response body
Copied

Is this helpful?

Yes
No

Set default source

Action:

PUT

Endpoint:
/fundingsources/{funding_source_token}/default

Configure either an ACH funding source or a payment card funding source as the default funding source.

A default funding source is used when you omit the

funding_source_token
field from funding requests, such as a
POST
request to
/gpaorders
. Note that the first funding source you create is automatically set as the default (
is_default_source=true
).

URL path parameters
Fields Description

funding_source_token

string
Required

Specifies the funding source to use by default.

You can set the default only to an ACH or payment card funding source.

Allowable Values:

Existing ACH or payment card funding source token.

Send a

GET
request to
/fundingsources/user/{user_token}
to retrieve existing funding source tokens for a user or to
/fundingsources/business/{business_token}
to retrieve existing funding source tokens for a business.

Sample response body
Copied

Is this helpful?

Yes
No

Feedback on this page?

If you feel we can do anything better, please let our team know.