Skip to main content
PATCH
Edit a donor

Authorizations

Authorization
string
header
required

Passport bearer token authentication for legacy admin sessions.

Path Parameters

id
integer
required

ID of the donor whose profile is being edited.

Body

application/json

Donor profile fields. The organization and donor form are taken from the authenticated context and existing donor. Include any required standard or custom fields from the donor form contract.

username
string

Login username; must be unique within the organization.

Minimum string length: 5
Example:

"jane.donor"

email
string<email> | null

Email address; must be unique within the organization when provided.

Example:

"jane@example.org"

password
string<password>

Optional replacement password; an empty value leaves the existing password unchanged.

Minimum string length: 5
Example:

"new-donor-password"

type
enum<string>

Donor identity type. Changing an existing type requires the transition confirmation fields.

Available options:
INDIVIDUAL,
ORGANIZATION
Example:

"INDIVIDUAL"

first_name
string | null

Individual first name on standardized donor forms; form configuration controls whether it is required.

Example:

"Jane"

last_name
string | null

Individual last name on standardized donor forms; form configuration controls whether it is required.

Example:

"Doe"

organization_name
string

Required when the submitted donor type is ORGANIZATION.

Maximum string length: 255
Example:

"Example Foundation"

phone
string | null

Phone number on standardized donor forms.

Example:

"+12565550123"

street
string | null

Street address on standardized donor forms.

Example:

"123 Main Street"

address_line2
string | null

Additional address line on standardized donor forms.

Example:

"Suite 2"

city
string | null

City on standardized donor forms.

Example:

"Huntsville"

zip
string | null

Postal code on standardized donor forms.

Example:

"35801"

country_code
string | null

Valid two-letter country code on standardized donor forms.

Required string length: 2
Example:

"US"

subdivision_code
string | null

Subdivision code belonging to the submitted country on standardized donor forms.

Maximum string length: 10
Example:

"US-AL"

preferred_contact_method
enum<string> | null

Preferred communication channel; nullable to clear the preference.

Available options:
email,
phone,
sms,
mail
Example:

"email"

can_receive_sms
boolean

Whether the donor can receive SMS messages.

Example:

false

do_not_email
boolean

Whether the donor should be excluded from email communications.

Example:

false

do_not_mail
boolean

Whether the donor should be excluded from postal mail communications.

Example:

false

tags

Tag names as an array or comma-separated string. Individual tag names may not contain commas; null clears the tags.

Example:
policy_revision
string

Revision from the loaded standard-field contract; a mismatch returns 409.

Example:

"loaded-form-policy-revision"

expected_type
enum<string>

Previously loaded donor type, required when changing an existing type.

Available options:
INDIVIDUAL,
ORGANIZATION
Example:

"INDIVIDUAL"

expected_profile_revision
integer

Previously loaded profile revision. Required for a type transition; when supplied, also protects other edits from concurrent changes.

Example:

4

confirm_identity_transition
boolean

Explicit confirmation required when changing an existing donor type.

Example:

true

Response

Donor profile saved

status
string
Example:

"success"

data
object