curl --request POST \
--url https://api.dev.endaoment.org/v1/donation-pledges/daf-migration \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"pledgedAmountMicroDollars": "5000000",
"receivingFundId": "123e4567-e89b-12d3-a456-426614174000",
"idempotencyKey": "123e4567-e89b-12d3-a456-426614174000",
"partnerOperationId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"isRebalanceRequested": false
}
'import requests
url = "https://api.dev.endaoment.org/v1/donation-pledges/daf-migration"
payload = {
"pledgedAmountMicroDollars": "5000000",
"receivingFundId": "123e4567-e89b-12d3-a456-426614174000",
"idempotencyKey": "123e4567-e89b-12d3-a456-426614174000",
"partnerOperationId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"isRebalanceRequested": False
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
pledgedAmountMicroDollars: '5000000',
receivingFundId: '123e4567-e89b-12d3-a456-426614174000',
idempotencyKey: '123e4567-e89b-12d3-a456-426614174000',
partnerOperationId: 'a1b2c3d4-e5f6-7890-abcd-ef1234567890',
isRebalanceRequested: false
})
};
fetch('https://api.dev.endaoment.org/v1/donation-pledges/daf-migration', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.dev.endaoment.org/v1/donation-pledges/daf-migration",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'pledgedAmountMicroDollars' => '5000000',
'receivingFundId' => '123e4567-e89b-12d3-a456-426614174000',
'idempotencyKey' => '123e4567-e89b-12d3-a456-426614174000',
'partnerOperationId' => 'a1b2c3d4-e5f6-7890-abcd-ef1234567890',
'isRebalanceRequested' => false
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.dev.endaoment.org/v1/donation-pledges/daf-migration"
payload := strings.NewReader("{\n \"pledgedAmountMicroDollars\": \"5000000\",\n \"receivingFundId\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"idempotencyKey\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"partnerOperationId\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n \"isRebalanceRequested\": false\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.dev.endaoment.org/v1/donation-pledges/daf-migration")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"pledgedAmountMicroDollars\": \"5000000\",\n \"receivingFundId\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"idempotencyKey\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"partnerOperationId\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n \"isRebalanceRequested\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.dev.endaoment.org/v1/donation-pledges/daf-migration")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"pledgedAmountMicroDollars\": \"5000000\",\n \"receivingFundId\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"idempotencyKey\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"partnerOperationId\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n \"isRebalanceRequested\": false\n}"
response = http.request(request)
puts response.read_body{
"id": "123e4567-e89b-12d3-a456-426614174000"
}Create DAF migration pledge
Creates a new donation pledge for migrating funds from an external Donor-Advised Fund (DAF) to Endaoment.
Authentication is required:
- Only authenticated users can create DAF migration pledges
- The pledge will be associated with the authenticated user’s account
This endpoint allows users to:
- Register their intention to migrate funds from an external DAF
- Specify the amount and receiving fund
- Provide necessary donor information for the migration
curl --request POST \
--url https://api.dev.endaoment.org/v1/donation-pledges/daf-migration \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"pledgedAmountMicroDollars": "5000000",
"receivingFundId": "123e4567-e89b-12d3-a456-426614174000",
"idempotencyKey": "123e4567-e89b-12d3-a456-426614174000",
"partnerOperationId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"isRebalanceRequested": false
}
'import requests
url = "https://api.dev.endaoment.org/v1/donation-pledges/daf-migration"
payload = {
"pledgedAmountMicroDollars": "5000000",
"receivingFundId": "123e4567-e89b-12d3-a456-426614174000",
"idempotencyKey": "123e4567-e89b-12d3-a456-426614174000",
"partnerOperationId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"isRebalanceRequested": False
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
pledgedAmountMicroDollars: '5000000',
receivingFundId: '123e4567-e89b-12d3-a456-426614174000',
idempotencyKey: '123e4567-e89b-12d3-a456-426614174000',
partnerOperationId: 'a1b2c3d4-e5f6-7890-abcd-ef1234567890',
isRebalanceRequested: false
})
};
fetch('https://api.dev.endaoment.org/v1/donation-pledges/daf-migration', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.dev.endaoment.org/v1/donation-pledges/daf-migration",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'pledgedAmountMicroDollars' => '5000000',
'receivingFundId' => '123e4567-e89b-12d3-a456-426614174000',
'idempotencyKey' => '123e4567-e89b-12d3-a456-426614174000',
'partnerOperationId' => 'a1b2c3d4-e5f6-7890-abcd-ef1234567890',
'isRebalanceRequested' => false
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.dev.endaoment.org/v1/donation-pledges/daf-migration"
payload := strings.NewReader("{\n \"pledgedAmountMicroDollars\": \"5000000\",\n \"receivingFundId\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"idempotencyKey\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"partnerOperationId\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n \"isRebalanceRequested\": false\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.dev.endaoment.org/v1/donation-pledges/daf-migration")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"pledgedAmountMicroDollars\": \"5000000\",\n \"receivingFundId\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"idempotencyKey\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"partnerOperationId\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n \"isRebalanceRequested\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.dev.endaoment.org/v1/donation-pledges/daf-migration")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"pledgedAmountMicroDollars\": \"5000000\",\n \"receivingFundId\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"idempotencyKey\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"partnerOperationId\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n \"isRebalanceRequested\": false\n}"
response = http.request(request)
puts response.read_body{
"id": "123e4567-e89b-12d3-a456-426614174000"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
The amount to donate in microdollars (1 USD = 1,000,000 microdollars)
"5000000"
The UUID of the fund that will receive the donation
"123e4567-e89b-12d3-a456-426614174000"
Client-generated UUID to ensure idempotency of the request
"123e4567-e89b-12d3-a456-426614174000"
Partner-owned reference for this operation. Required at runtime for the partner-settled cash flows, ignored otherwise.
36"a1b2c3d4-e5f6-7890-abcd-ef1234567890"
Whether the fund should be rebalanced after the donation is fulfilled
false
Donor identity information to be used in the donation receipt
Show child attributes
Show child attributes
Response
DAF migration pledge successfully created
Unique identifier of the created donation pledge
"123e4567-e89b-12d3-a456-426614174000"
Was this page helpful?