Program Funding Sources

Use the /fundingsources/program endpoint to create a program funding source.

A program funding source represents a bank account from which funds are drawn for Just-in-Time (JIT) Funding transactions. For more information about JIT Funding, see About Just-in-Time Funding.

In a sandbox environment, each program funding source you create simulates funds for use in test transactions. In a production environment, program funding sources are created by Marqeta and draw funds from the bank account you specify.

Note: Your program funding source must be approved by Marqeta and the issuing bank. If you are using a third-party service to collect user funds, Marqeta and the issuing bank require specific reporting to ensure compliance with all rules and regulations. Contact Marqeta for more information.

Create program source

Action: POST
Endpoint: /fundingsources/program

Create a program funding source.

Body field details

Name Type Required? Description Allowable Values
active boolean No Indicates whether the program funding source is active. true | false; Default: true
token string No The unique identifier of the funding source. 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. 36 char max
name string Yes The name of the funding program. 40 char max

Sample request body

{
"token": "my_programfundingsource_token",
"name": "my_programfundingsource_name",
"active": true
}

Sample response body

{
"name": "my_programfundingsource_name",
"active": true,
"token": "my_programfundingsource_token",
"account": "12.003.001.000147",
"created_time": "2015-11-25T20:46:04Z",
"last_modified_time": "2015-11-25T20:46:04Z"
}


Retrieve program source

Action: GET
Endpoint: /fundingsources/program/{token}

Retrieve a specific program funding source.

URL path parameters

Name Type Required? Description Allowable Values
token string Yes Identifies the program funding source you want to retrieve. Existing program 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

{
"name": "my_programfundingsource_name",
"active": true,
"token": "my_programfundingsource_token",
"account": "12.003.001.000147",
"created_time": "2015-11-25T20:46:04Z",
"last_modified_time": "2015-11-25T20:46:04Z"
}


Update program source

Action: PUT
Endpoint: /fundingsources/program/{token}

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

URL path parameters

Name Type Required? Description Allowable Values
token string Yes Identifies the program funding source to update. Existing program 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

Name Type Required? Description Allowable Values
name string No The name of the program funding source. 40 char max
active boolean No Indicates whether the program funding source is active. true | false

Sample request body

{
"name": "your_programfundingsource_name",
"active": false
}

Sample response body

{
"name": "your_programfundingsource_name",
"active": false,
"token": "my_programfundingsource_token",
"account": "12.003.001.000147",
"created_time": "2015-11-25T20:46:04Z",
"last_modified_time": "2015-11-25T21:33:59Z"
}


Create ACH program source

Action: POST
Endpoint: /fundingsources/program/ach

Create an ACH program funding source.

Body field details

Name Type Required? Description Allowable Values
token string No 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. 36 char max
account_number string Yes The ACH account number. 36 char max
name_on_account string Yes The name on the ACH account. 40 char max
routing_number string Yes The routing number for the ACH account. 9 digits
account_type string Yes The type of account. checking | savings
is_default_account boolean No 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. true | false; Default: false
verification_override boolean No Allows the ACH funding source to be used regardless of its verification status. true | false; Default: false
verification_notes string No Free-form text field for holding notes about verification. This field is returned only if verification_override=true. 255 char max

Sample request body

{
"name_on_account": "John Smith",
"account_number": "0888271159",
"routing_number": "121000357",
"account_type": "checking",
"is_default_account": "true",
"verification_override": "true",
"verification_notes": "testing"
}

Sample response body

{
"token": "edc04df4-510c-46c7-a6e5-cc5d82fe78fa",
"name_on_account": "John Smith",
"account_type": "checking",
"account_suffix": "1156",
"is_default_account": "true",
"active": "true",
"verification_status": "ACH_VERIFIED",
"created_time": "2019-03-27T18:40:27Z",
"last_modified_time": "2019-03-27T18:40:27Z"
}