Skip to main content

Outcome

A wire donation pledge is created for the selected fund. The user receives wire instructions and a pledge ID to track the inbound transfer.

When

After Open a Fund. Trigger when the user chooses to contribute by bank wire. This guide covers the wire flow end to end. Other donation types are listed below with API links only.

Auth

CallAuth
GET /v1/funds/mineBearer
GET /v1/donation-pledges/wire/details/domesticPublic
POST /v1/donation-pledges/wireBearer

Endpoints (wire flow)

StepMethodPathAPI reference
1. List user’s fundsGET/v1/funds/mineList my funds
2. Get wire instructionsGET/v1/donation-pledges/wire/details/domesticGet domestic wire details
3. Create wire pledgePOST/v1/donation-pledges/wireCreate wire donation pledge
International wire instructions: Get international wire details. See also: Donations in API reference.

Required inputs (wire pledge)

FieldDescription
receivingFundIdTarget fund from /v1/funds/mine
pledgedAmountMicroDollarsDonation amount in microdollars
idempotencyKeyNew UUID per submission
donorIdentityOptional override of donor identity — omit to use the authenticated user’s stored identity. If provided, must include firstName, lastName, email, and address
See the API reference for the full request schema.

Example: create wire pledge

Omit donorIdentity to use the authenticated user’s identity (typical quickstart path):
curl -X POST "https://api.dev.endaoment.org/v1/donation-pledges/wire" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "receivingFundId": "FUND_UUID",
    "pledgedAmountMicroDollars": "100000000",
    "idempotencyKey": "550e8400-e29b-41d4-a716-446655440000"
  }'
To override donor identity, include a complete donorIdentity object with address:
curl -X POST "https://api.dev.endaoment.org/v1/donation-pledges/wire" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "receivingFundId": "FUND_UUID",
    "pledgedAmountMicroDollars": "100000000",
    "idempotencyKey": "550e8400-e29b-41d4-a716-446655440000",
    "donorIdentity": {
      "firstName": "Alex",
      "lastName": "Donor",
      "email": "alex@example.com",
      "address": {
        "line1": "123 Main St",
        "city": "San Francisco",
        "state": "CA",
        "zip": "94105"
      }
    }
  }'

Response you need

FieldUse
Pledge idTrack donation status
Wire details (step 2)Show user where to send funds

Other donation types

TypeEndpointAPI reference
CryptoPOST /v1/donation-pledges/cryptoCreate crypto donation pledge
StockPOST /v2/donation-pledges/stockCreate stock donation pledge
DAF migrationPOST /v1/donation-pledges/daf-migrationCreate DAF migration pledge

Common mistakes

  • Using fundId / amount field names (API expects receivingFundId / pledgedAmountMicroDollars)
  • Providing partial donorIdentity without address (omit the object entirely or include all required fields)
  • Using dollar amounts instead of microdollars
  • Reusing idempotencyKey for different pledge attempts
Next: Find a Nonprofit