v39

latestOpenAPI 3.0.0raw.githubusercontent.com2026-08-017897360.9 KB
Grant Requests

Submit Grant Request

Confirm that you have submitted the grant in your system.

Calling this endpoint moves the Grant Request's status to submitted and emits a grant_request.updated webhook event.

<Warning> - The Grant Request must be in `pending` status. If the linked [Donor Account](/api/donor-accounts) is not yet `approved`, the Grant Request will be in `awaiting_account_decision` and this request returns status `412 Precondition Failed`. - A Grant Request that is already `submitted` or `rejected` cannot be updated. Subsequent calls return status `409 Conflict`. </Warning>
post/v1/grant_requests/{id}/submit

Path parameters

idstring required

The unique ID of the Grant Request.

Request body

external_grant_idstring

The DAF's internal identifier for this grant. Setting this at submission time provides a useful audit trail and reconciliation key. Maximum length: 255 characters.

commentstring

An optional comment recorded with the submission. Maximum length: 400 characters.

Example request

{
  "external_grant_id": "ACME-GRANT-2026-00481"
}

Response

The Grant Request was submitted.

idstring required

The unique identifier for this Grant Request.

donor_account_idstring required

The ID of the Donor Account this Grant Request belongs to.

giving_pool_idstring nullable

The ID of the Giving Pool the grant is being made from. Present when the donor selected a specific giving pool.

status'awaiting_account_decision' | 'pending' | 'submitted' | 'rejected' required

The lifecycle status of a Grant Request.

  • awaiting_account_decision: The linked Donor Account is not yet approved. Advances automatically when the account is approved.
  • pending: The Donor Account is approved and the Grant Request is awaiting your decision.
  • submitted: You have submitted the grant in your system. Terminal.
  • rejected: You have rejected the grant and it will not be processed. Terminal.
einstring required

The EIN of the recipient nonprofit.

nonprofit_namestring

The name of the recipient nonprofit at the time of the Grant Request.

amount_centsinteger required

The grant amount in cents (USD).

frequency'one_time' | 'monthly' | 'quarterly' | 'annual' required

How often the donor intends this grant to recur. Only frequencies enabled in your DAF Provider settings will appear on Grant Requests.

form_urlstring uri required

The URL of the page where the donor submitted the DAFpay gift.

purposestring nullable

The donor's stated purpose for the grant.

notestring nullable

An optional note from the donor to the nonprofit.

rejection_reasonstring nullable

The reason provided when the Grant Request was rejected. Set when status transitions to rejected.

created_atstring date-time required

Time when this object was created, expressed in RFC 3339 format.

updated_atstring date-time required

Time when this object was last updated, expressed in RFC 3339 format.

Example response

{
  "id": "grant_req_01jpjenf5q6cawy43yxfcrxhct",
  "donor_account_id": "donor_account_01jpjenf5q6cawy43yxfcrxhct",
  "giving_pool_id": "0bf40881-8ee2-47fb-98ca-f58c7999aa34",
  "ein": "12-3456789",
  "nonprofit_name": "American Red Cross",
  "amount_cents": 10000,
  "form_url": "https://example.org/donate",
  "created_at": "2026-04-01T09:00:00Z",
  "updated_at": "2026-04-01T12:00:00Z"
}