Update funding source
PATCH
/providers/{providerID}/participants/{participantID}/funding-sources/{fundingSourceID}
Update a funding source’s display name and last four digits. The
fundingSourceID does not change, so payouts that reference the source
keep resolving.
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 PATCH https://api.moov.money/providers/{providerID}/participants/{participantID}/funding-sources/{fundingSourceID} \
-u "$MOOV_API_KEY_ID:$MOOV_API_KEY_SECRET" \
-H "X-Moov-Version: v2026.10.00" \
-H "Content-Type: application/json" \
-d '{
"displayName": "First National Savings",
"last4": "4321"
}'Responses
The request completed successfully.
{
"fundingSource": {
"createdOn": "2026-08-31T12:00:00Z",
"displayName": "First National Checking",
"fundingSourceID": "01HF5J9ZKQT4RXP8M2VYBN3D_fsrc",
"fundingType": "bank_account",
"last4": "4321",
"providerSourceID": "src_01HP5J9ZKQT4RXP8M2VYBN3D",
"updatedOn": "2026-08-31T12:00:00Z"
}
}Malformed request: the body or headers failed validation.
Response body application/problem+json
RFC 9457 Problem Details error body, served as
application/problem+json.
From v2026.10.00, every error response that has a body uses this schema.type
string
requiredURI that tells you which problem occurred. Branch on this value; it never
changes. Moov problem types look like
https://api.moov.money/errors#<code> (for
example invalid-request, idempotency-key-reused, or
idempotency-request-in-progress). Treat the value as
an opaque constant and do not fetch it. about:blank means the HTTP
status code says everything there is to know.title
string
requiredShort human-readable name of the problem type. Fixed per type; defaults to the HTTP status text.
status
integer<int32>
requiredThe HTTP status code of this response.
detail
stringHuman-readable explanation of this specific occurrence.
instance
stringURI reference that identifies this specific occurrence.
errors
array<object>The request-body fields that failed validation. Present on validation errors only.
Show child attributes
errors[]
pointer
string
requiredRFC 6901 JSON Pointer to the field, using the public JSON field names. If the field is missing, the pointer shows where it belongs.
detail
string
requiredWhat is wrong with the field.
Authentication missing, invalid, or insufficient.
Authentication present but the action is forbidden for this principal/claim.
The requested resource was not found.
The request was well-formed but couldn’t be processed (e.g. card declined).
Response body application/problem+json
RFC 9457 Problem Details error body, served as
application/problem+json.
From v2026.10.00, every error response that has a body uses this schema.type
string
requiredURI that tells you which problem occurred. Branch on this value; it never
changes. Moov problem types look like
https://api.moov.money/errors#<code> (for
example invalid-request, idempotency-key-reused, or
idempotency-request-in-progress). Treat the value as
an opaque constant and do not fetch it. about:blank means the HTTP
status code says everything there is to know.title
string
requiredShort human-readable name of the problem type. Fixed per type; defaults to the HTTP status text.
status
integer<int32>
requiredThe HTTP status code of this response.
detail
stringHuman-readable explanation of this specific occurrence.
instance
stringURI reference that identifies this specific occurrence.
errors
array<object>The request-body fields that failed validation. Present on validation errors only.
Show child attributes
errors[]
pointer
string
requiredRFC 6901 JSON Pointer to the field, using the public JSON field names. If the field is missing, the pointer shows where it belongs.
detail
string
requiredWhat is wrong with the field.
Headers
X-Moov-Version
stringSet this header to the API version being targeted (e.g.
v2026.10.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.fundingSourceID
string
requiredIdentifier of the funding source.
Request
application/json
Display metadata to update.
providerSourceID and fundingType are
immutable.displayName
string
[1 to 256] charactersHuman-readable display label. When present, must be 1–256 characters.
last4
string
[1 to 4] charactersLast four digits of the funding source number: the card number for
card, or the bank account number for bank_account. When present, must be 1–4 characters.Response
The updated funding source, nested under
fundingSource.fundingSource
object
requiredThe updated funding source.
Show child attributes
fundingSource
fundingSourceID
string
requiredStable server-owned identifier a payout references.
fundingType
string<enum>
requiredFunding source discriminator.
Possible values:
card,
bank_accountproviderSourceID
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 (e.g. the account nickname). Must be 1–256 characters.
last4
string
requiredLast 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.createdOn
string<date-time>
requiredWhen this funding source was created.
updatedOn
string<date-time>
requiredWhen this funding source was last updated.
disabledOn
string<date-time>When this funding source was removed. Omitted while active.