Skip to main content
This page walks through making a successful API call against Raise. It assumes you have an API token already; if you don’t, see Authentication for how to obtain one. The goal is a working request and response, not a deep dive. Once you have one of each, the rest of the docs will make more sense.

Prerequisites

  • A Raise account at the customer organization you’ll be integrating with.
  • A Raise API token. See Authentication.
  • An HTTP client. The examples below use curl and Node.js fetch, but anything that can make a JSON HTTP request works.

The first call: list donors

The simplest read endpoint to test against is GET /api/Donor/list — it returns a paginated list of donor records and confirms your token works.
curl https://prod-api.raisedonors.com/api/Donor/list?Take=5 \
  -H "Authorization: Bearer YOUR_API_TOKEN"
A successful response looks like:
{
  "items": [
    {
      "id": 12345,
      "firstName": "Bruce",
      "lastName": "Wayne",
      "email": "bruce@wayne.example",
      "createdAt": "2024-12-15T14:30:00Z"
    },
    {
      "id": 12346,
      "firstName": "Diana",
      "lastName": "Prince",
      "email": "diana@themyscira.example",
      "createdAt": "2024-12-14T09:15:00Z"
    }
  ],
  "total": 8421
}
Two things worth noting in the response:
  • The envelope is items/total, not list/total like CRM+. Every paginated Raise endpoint uses this shape — see Pagination and Filtering.
  • The total is the full result count, not just the number returned. With Take=5, you see 5 items but total shows you there are 8,421 donors in the organization.

What just happened

The request succeeded because three things lined up:
  1. The host was right. Raise is at prod-api.raisedonors.com — not the CRM+ host.
  2. The token was valid. The Authorization: Bearer YOUR_API_TOKEN header carried a JWT that Raise recognized.
  3. The endpoint exists. /api/Donor/list is a real Raise endpoint that accepts the Take query parameter.
If any of those weren’t right, the response would have been:
  • 401 Unauthorized — bad token or missing header.
  • 404 Not Found — wrong path (probably a typo like /api/Donors/list).
  • A network or DNS error — wrong host.
See Error Handling for the full error envelope and remediation guide.

Reading more of the data

Take=5 capped the response to five items. To page through more, use Skip to advance:
# Page 2: skip the first 5, take the next 5
curl "https://prod-api.raisedonors.com/api/Donor/list?Skip=5&Take=5" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
The maximum Take value is bounded by the API — typically 1,000 for bulk operations. See Pagination and Filtering for the full iteration pattern.

A second call: submit a donation

Reading is one half of the API. The other half is the donation-submission endpoint that’s distinctive to Raise: POST /api/Raise/give. This is the only path that creates Gift records — there’s no POST /api/Gift.
cURL
curl -X POST https://prod-api.raisedonors.com/api/Raise/give \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "organizationId": 1234,
    "campaignId": 5678,
    "amount": 50.00,
    "donor": {
      "firstName": "Bruce",
      "lastName": "Wayne",
      "email": "bruce@wayne.example"
    },
    "paymentMethod": {
      "...": "see Process a Donation workflow"
    }
  }'
The full request body shape — including the payment method, designation breakdown, and donor matching parameters — is covered in Process a Donation. Don’t try this against production data without reading that page first.
For development and testing, Raise exposes a POST /api/Raise/generate-test-payment-method endpoint that returns a payment method usable in test mode. Use this to drive end-to-end test flows without real card numbers. The Process a Donation workflow covers this in detail.
Now that you have a working call:

Authentication

Full coverage of the token format, header, and credential lifecycle.

Base URLs and Environments

The Raise host, sandbox setup, and environment selection.

Pagination and Filtering

The full iteration pattern for items/total paginated responses.

Process a Donation

The end-to-end POST /api/Raise/give workflow with the full request shape.
Last modified on May 21, 2026