Update Donor Account
Update mutable properties on a Donor Account such as external_id, the nested donor fields, and metadata.
The Donor Account's status is managed automatically through the Authorization Token verification flow and cannot be changed directly via this endpoint.
Path parameters
The unique id of the Donor Account
Request body
Example request
{
"donor": {
"first_name": "Warren",
"last_name": "Buffet",
"phone": "+12125550100"
},
"external_id": "ACME-DAF-DONOR-1042"
}Response
OK
Example response
{
"id": "donor_account_01jpjenf5q6cawy43yxfcrxhct",
"status": "pending",
"donor": {
"email": "warrenBuffet@example.com",
"first_name": "Warren",
"last_name": "Buffet",
"phone": "+12125550100"
},
"external_id": "ACME-DAF-DONOR-1042",
"approval": {
"approved_at": "2026-04-02T18:30:00Z",
"approved_by": "daf:fid_01jpjenf5q6cawy43yxfcrxhct"
},
"rejection": {
"rejected_at": "2026-04-02T18:30:00Z",
"rejected_by": "daf:fid_01jpjenf5q6cawy43yxfcrxhct",
"rejection_reason": "Donor could not be located in our records."
},
"created_at": "2026-04-01T12:00:00Z",
"updated_at": "2026-04-02T18:30:00Z"
}Changes
Changed in 7 of the 41 revisions of this API.261541
- ▲
removed the required property
codefrom the response with the400statusresponse-required-property-removed
- ▲
removed the required property
codefrom the response with the401statusresponse-required-property-removed
- ▲
removed the required property
codefrom the response with the403statusresponse-required-property-removed
- ▲
removed the required property
codefrom the response with the404statusresponse-required-property-removed
- ▲
removed the required property
codefrom the response with the500statusresponse-required-property-removed
- ▲
removed the required property
errorfrom the response with the400statusresponse-required-property-removed
- ▲
removed the required property
errorfrom the response with the401statusresponse-required-property-removed
- ▲
removed the required property
errorfrom the response with the403statusresponse-required-property-removed
- ▲
removed the required property
errorfrom the response with the404statusresponse-required-property-removed
- ▲
removed the required property
errorfrom the response with the500statusresponse-required-property-removed
- ▲
removed the required property
messagefrom the response with the400statusresponse-required-property-removed
- ▲
removed the required property
messagefrom the response with the401statusresponse-required-property-removed
- ▲
removed the required property
messagefrom the response with the403statusresponse-required-property-removed
- ▲
removed the required property
messagefrom the response with the404statusresponse-required-property-removed
- ▲
removed the required property
messagefrom the response with the500statusresponse-required-property-removed
- ▲
removed the required property
timestampfrom the response with the400statusresponse-required-property-removed
- ▲
removed the required property
timestampfrom the response with the401statusresponse-required-property-removed
- ▲
removed the required property
timestampfrom the response with the403statusresponse-required-property-removed
- ▲
removed the required property
timestampfrom the response with the404statusresponse-required-property-removed
- ▲
removed the required property
timestampfrom the response with the500statusresponse-required-property-removed
- ○
media type
application/jsonwas changed to a more specific media typeapplication/problem+jsonfor the response status400response-media-type-name-specialized
- ○
media type
application/jsonwas changed to a more specific media typeapplication/problem+jsonfor the response status401response-media-type-name-specialized
- ○
media type
application/jsonwas changed to a more specific media typeapplication/problem+jsonfor the response status403response-media-type-name-specialized
- ○
media type
application/jsonwas changed to a more specific media typeapplication/problem+jsonfor the response status404response-media-type-name-specialized
- ○
media type
application/jsonwas changed to a more specific media typeapplication/problem+jsonfor the response status500response-media-type-name-specialized
- ○
added the required property
detailto the response with the400statusresponse-required-property-added
- ○
added the required property
detailto the response with the401statusresponse-required-property-added
- ○
added the required property
detailto the response with the403statusresponse-required-property-added
- ○
added the required property
detailto the response with the404statusresponse-required-property-added
- ○
added the required property
detailto the response with the500statusresponse-required-property-added
- ○
added the required property
statusto the response with the400statusresponse-required-property-added
- ○
added the required property
statusto the response with the401statusresponse-required-property-added
- ○
added the required property
statusto the response with the403statusresponse-required-property-added
- ○
added the required property
statusto the response with the404statusresponse-required-property-added
- ○
added the required property
statusto the response with the500statusresponse-required-property-added
- ○
added the required property
titleto the response with the400statusresponse-required-property-added
- ○
added the required property
titleto the response with the401statusresponse-required-property-added
- ○
added the required property
titleto the response with the403statusresponse-required-property-added
- ○
added the required property
titleto the response with the404statusresponse-required-property-added
- ○
added the required property
titleto the response with the500statusresponse-required-property-added
- ○
added the required property
typeto the response with the400statusresponse-required-property-added
- ○
added the required property
typeto the response with the401statusresponse-required-property-added
- ○
added the required property
typeto the response with the403statusresponse-required-property-added
- ○
added the required property
typeto the response with the404statusresponse-required-property-added
- ○
added the required property
typeto the response with the500statusresponse-required-property-added
This revision also has 1 change that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog
- ▲
- ▲
the response property
external_idbecame nullable for the status200response-property-became-nullable
- ●
removed the optional property
emailfrom the response with the200statusresponse-optional-property-removed
- ●
removed the optional property
first_namefrom the response with the200statusresponse-optional-property-removed
- ●
removed the optional property
last_namefrom the response with the200statusresponse-optional-property-removed
- ●
removed the optional property
phonefrom the response with the200statusresponse-optional-property-removed
- ○
added the new optional request property
donornew-optional-request-property
- ○
added the required property
donorto the response with the200statusresponse-required-property-added
- ▲
- ●
removed the optional property
decisioned_atfrom the response with the200statusresponse-optional-property-removed
- ●
removed the optional property
decisioned_byfrom the response with the200statusresponse-optional-property-removed
- ●
removed the optional property
rejection_reasonfrom the response with the200statusresponse-optional-property-removed
- ○
added the optional property
approvalto the response with the200statusresponse-optional-property-added
- ○
added the optional property
disabledto the response with the200statusresponse-optional-property-added
- ○
added the optional property
rejectionto the response with the200statusresponse-optional-property-added
- ●
- ●
removed the optional property
fund_idfrom the response with the200statusresponse-optional-property-removed
This revision also has 1 change that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog
- ●
- ▲
the response property
emailbecame optional for the status200response-property-became-optional
- ▲
the response property
fund_idbecame optional for the status200response-property-became-optional
- ▲
- ▲
removed the required property
createdAtfrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
fundIdfrom the response with the200statusresponse-required-property-removed
- ▲
removed the required property
updatedAtfrom the response with the200statusresponse-required-property-removed
- ●
removed the request property
externalIdrequest-property-removed
- ●
removed the optional property
decisionedAtfrom the response with the200statusresponse-optional-property-removed
- ●
removed the optional property
decisionedByfrom the response with the200statusresponse-optional-property-removed
- ●
removed the optional property
externalIdfrom the response with the200statusresponse-optional-property-removed
- ●
removed the optional property
firstNamefrom the response with the200statusresponse-optional-property-removed
- ●
removed the optional property
lastNamefrom the response with the200statusresponse-optional-property-removed
- ●
removed the optional property
rejectionReasonfrom the response with the200statusresponse-optional-property-removed
- ○
added the new optional request property
external_idnew-optional-request-property
- ○
added the optional property
decisioned_atto the response with the200statusresponse-optional-property-added
- ○
added the optional property
decisioned_byto the response with the200statusresponse-optional-property-added
- ○
added the optional property
external_idto the response with the200statusresponse-optional-property-added
- ○
added the optional property
first_nameto the response with the200statusresponse-optional-property-added
- ○
added the optional property
last_nameto the response with the200statusresponse-optional-property-added
- ○
added the optional property
rejection_reasonto the response with the200statusresponse-optional-property-added
- ○
added the required property
created_atto the response with the200statusresponse-required-property-added
- ○
added the required property
fund_idto the response with the200statusresponse-required-property-added
- ○
added the required property
updated_atto the response with the200statusresponse-required-property-added
- ▲
- ○
endpoint added
endpoint-added
- ○