Skip to main content
POST
Create a donor and complete designation-only checkout

Path Parameters

client_id
integer
required

Client id that will own the newly created donor and resulting donations or commitments.

hysform_id
integer
required

Donor HysForm id whose fields are used to build donor json_fields and dynamic validation rules.

designation_id
string
required

Configured designation checkout id from the landing page. It is retained in the route for checkout context while selected gifts are read from Redis.

session_id
string
required

Redis frontend session id containing saved_designations and saved_designation_frequency. The controller also turns this into a donor session after signup.

Body

application/json

Signup fields for designation-only checkout. Fixed validator rules require username, email, and password; dynamic public donor fields may also be required by HysForm conditional display rules.

signup_username
string
required

Donor username. Validator rule: required|min:5 plus a client-scoped donor username uniqueness rule.

Minimum string length: 5
Example:

"janedonor"

email
string<email>
required

Donor email. Validator rule: email|required.

Example:

"jane@example.org"

signup_password
string<password>
required

Donor password. Validator rule: min:5|required; it is hashed before storage.

Minimum string length: 5
Example:

"secret123"

type
enum<string>

Donor identity type. Standard-field validation requires a valid normalized type; donor_type is accepted as an input alias.

Available options:
INDIVIDUAL,
ORGANIZATION
Example:

"INDIVIDUAL"

organization_name
string

Required when the normalized donor type is ORGANIZATION.

Maximum string length: 255
Example:

"Acme Foundation"

policy_revision
string

Optional revision from the checkout standard_field_contract; a stale supplied revision returns 409.

Example:

"current-form-revision"

check_number
string | null

Optional check reference. Validator rule: nullable|string|max:100.

Maximum string length: 100
Example:

"1042"

method_signup
string | null

Payment method selected by checkout. The controller passes this to donation and recurring commitment creation when present.

Example:

"3"

donor_type
string | null

Optional donor type used by conditional-display logic to decide which dynamic public fields are required.

Example:

"INDIVIDUAL"

Response

Checkout donation or commitment was created.

message
string
Example:

"Donation made!"

status
string
Example:

"success"