Create provider funding source
POST
/providers/{providerID}/participants/{participantID}/funding-sources
Create an active funding source for one of your participants, identified
by the participant’s participantID or your externalID for them.
Creation is idempotent on (participant, fundingType, providerSourceID):
re-sending an existing source returns the existing fundingSourceID, and
reactivates the source if it had been removed.
Auth: API key or bearer token. Scoped to the calling provider. Returns 404 when no participant matches within your provider. Returns 422 when the body fails validation.
Request
curl -X POST https://api.moov.money/providers/{providerID}/participants/{participantID}/funding-sources \
-H "Content-Type: application/json" \
-d '{
"displayName": "First National Checking",
"fundingType": "bank_account",
"last4": "4321",
"providerSourceID": "src_01HP5J9ZKQT4RXP8M2VYBN3D"
}'Responses
The resource was successfully created.
{
"fundingSourceID": "fnd_01HF5J9ZKQT4RXP8M2VYBN3D"
}Malformed request: the body or headers failed validation.
Authentication missing, invalid, or insufficient.
Authentication present but the action is forbidden for this principal/claim.
The requested resource was not found.
The request conflicts with the current state of the target resource.
The request was well-formed but couldn’t be processed (e.g. card declined).
Headers
X-Moov-Version
stringSet this header to the API version being targeted (e.g.
v2026.07.00). When omitted, the server applies its default version.Path parameters
providerID
string
requiredYour provider account ID.
participantID
string
requiredThe participant’s
participantID, or your externalID for them. Both
resolve to the same participant.Request
application/json
A funding source to create. Creation is idempotent on
(participant, fundingType, providerSourceID): re-sending an existing
source returns the existing fundingSourceID and reactivates the source
if it had been removed.providerSourceID
string
[1 to 256] characters
requiredYour identifier for the underlying funding source. Must be 1–256 characters.
displayName
string
[1 to 256] characters
requiredHuman-readable display label. Must be 1–256 characters.
last4
stringLast four digits of the funding source number: the card number for
card, or the bank account number for bank_account. Rendered with displayName in the UI. At most 4 characters.fundingType
string<enum>
requiredFunding source discriminator.
Possible values:
card,
bank_accountResponse
Returns the stable
fundingSourceID for the created (or existing) funding source.fundingSourceID
string
requiredThe stable server-owned identifier for the created (or existing) funding source.