Outcome
A grant recommendation is submitted from the user’s fund to a selected nonprofit. Your app stores the async grant ID for status tracking.When
After the user has:- A fund (
idfrom Open a Fund orGET /v1/funds/mine) - A nonprofit (
idfrom Find a Nonprofit)
Auth
| Header | Value |
|---|---|
Authorization | Bearer <access_token> |
Endpoint
POST /v1/transfers/async-grants
API reference: Create async grant
See also: Grant Transfers in API reference.
Required inputs
| Field | Description |
|---|---|
originFundId | Source fund ID |
destinationOrgId | Destination organization ID |
requestedAmount | Grant amount in microdollars |
idempotencyKey | New UUID per submission |
purpose | Grant purpose / memo |
Example request
Response you need
| Field | Use |
|---|---|
Grant id | Track async grant status |
asyncStatus | Initial processing state (status is deprecated — use asyncStatus) |
Common mistakes
- Using
fundId/orgId/amountfield names (API expectsoriginFundId/destinationOrgId/requestedAmount) - Reading
statusinstead ofasyncStatuson async grant responses - Using dollar amounts instead of microdollars
- Reusing
idempotencyKeyfor different grant attempts - Re-implementing org search here instead of linking to Find a Nonprofit