Record a gift or pledge.

Gifts may also carry soft credits, which acknowledge someone other than the giver. Send dry_run to validate the request without saving it, and an Idempotency-Key header so a retry cannot record the same gift twice.

Authentication

X-Spring-API-Keystring
Secret API key issued per institution. Send it on every request.

Request

This endpoint expects an object.
donor_idinteger or nullRequired

The donor (or donor organization) user id the gift is attributed to. Required.

amountdouble or nullRequired

Monetary amount. Required for both gifts and pledges and must be greater than zero; a zero amount is allowed only when GiftType is InKind.

subjectstring or nullRequired

Short human-readable title. Required, non-whitespace.

gift_datestring or nullRequired

ISO 8601 date the gift/pledge occurred (e.g. "2026-04-03" or "2026-04-03T10:00:00Z"). Required. Interpreted in the tenant’s time zone and persisted in UTC.

typeenum or nullOptional

gift or pledge. Defaults to gift when omitted. Soft credits are only honored on gifts.

gift_typeenum or nullOptional

Gift instrument — one of Cash, Check, CreditOrDebit, BankTransfer, StockOrProperty, InKind, PayrollDeduction, Online, Other. Optional; defaults to None. Ignored for pledges.

descriptionstring or nullOptional
fund_idstring or nullOptional

Fund the gift is directed toward. When the tenant has Funds Management enabled the value must match an existing fund’s identifier; otherwise it is stored as a free-form label.

campaign_idinteger or nullOptional
is_completedbooleanOptional

Only meaningful for pledges — marks the pledge fulfilled. Ignored for gifts.

assigned_to_user_idinteger or nullOptional
Officer the record is assigned to. Must be a user in this tenant when supplied.
soft_creditslist of objects or nullOptional

Up to three soft-credit recipients. Honored on gifts only; ignored for pledges.

Response

Created
objectstring or nullOptionalRead-only

Stripe-style resource discriminator. Stable, snake_case string naming the resource type. Serialized first so it reads as the leading field of every V1 resource body.

idintegerOptional
donor_idintegerOptional
typestring or nullOptional
gift_typestring or nullOptional
amountdouble or nullOptional
subjectstring or nullOptional
descriptionstring or nullOptional
fund_idstring or nullOptional
campaign_idinteger or nullOptional
is_completedbooleanOptional
gift_acknowledgement_sentbooleanOptional
datedatetimeOptional
soft_creditslist of objects or nullOptional

Errors

400
Bad Request Error
404
Not Found Error
409
Conflict Error
422
Unprocessable Entity Error
429
Too Many Requests Error