Skip to main content
A program transfer moves funds from an account holder’s general purpose account (GPA) to a program funding source. In contrast to a fee transfer, the program transfer amount is specified by the transfer itself and can therefore be set dynamically. An auto reload is triggered if the GPA has insufficient funds to cover the transfer amount and auto reload is enabled.
Note
The /programtransfers endpoint is only available for specific, preapproved use cases. For more information about this endpoint, contact your Marqeta representative.

Create program transfer

Action: POST
Endpoint: /programtransfers
Use this endpoint to create a program transfer. Add the program transfer details to the body of the request in JSON format. Include either user_token or business_token in the message body to specify the account holder whose general purpose account (GPA) will be debited by the program transfer. The user or business must already exist.
Note
If the GPA has insufficient funds to cover both the amount of the program transfer and all attached fees, then no funds are transferred.

Request body

Sample request body

JSON

Response body

Sample response body

JSON

List program transfers

Action: GET
Endpoint: /programtransfers
Use this endpoint to list all program transfers. To narrow your result set to program transfers of a particular type or that are associated with a particular account holder, include the appropriate parameters from the following URL Query Parameters table. This endpoint also supports field filtering, pagination, and sorting.

URL query parameters

Response body

Sample response body

JSON

Retrieve program transfer

Action: GET
Endpoint: /programtransfers/{token}
Use this endpoint to retrieve a specific program transfer. Include the program transfer token path parameter to specify the program transfer to retrieve.

URL path parameters

Response body

Sample response body

JSON

Create program transfer type

Action: POST
Endpoint: /programtransfers/types
Use this endpoint to create a program transfer type. Add the program transfer details to the body of the request in JSON format. You are required to pass in a program_funding_source_token to associate a program funding source with the program transfer type. You must therefore create a program funding source before creating a program transfer type.

Request body

Sample request body

JSON

Response body

Sample response body

JSON

List program transfer types

Action: GET
Endpoint: /programtransfers/types
Use this endpoint to list all program transfer types. This endpoint supports field filtering, pagination, and sorting.

URL query parameters

Response body

Sample response body

JSON

Update program transfer type

Action: PUT
Endpoint: /programtransfers/types/{type_token}
Use this endpoint to update a program transfer type. Include the type_token path parameter to indicate the program transfer type to update. Add the modified detail parameters to the body of the request in JSON format. Only values of parameters in the request are modified; all others are left unchanged.

URL path parameters

Request body

Sample request body

JSON

Response body

Sample response body

JSON

Retrieve program transfer type

Action: GET
Endpoint: /programtransfers/types/{type_token}
Use this endpoint to retrieve a specific program transfer. Include the type_token path parameter to indicate the program transfer type to return.

URL path parameters

Response body

Sample response body

JSON