RaiseIt API Documentation
Welcome to the RaiseIt API. This RESTful API allows you to programmatically create, manage, and monitor crowdfunding campaigns, backers, and payments. Base URL for all requests:
https://api.raiseit.com/v1
Authentication
RaiseIt uses Bearer tokens to authenticate requests. You can generate API keys from your dashboard under Settings > API Keys. Include your key in the Authorization header:
Authorization: Bearer sk_live_4eC39HqLyjWDarjtT1zdp7dc
We support both test mode (sk_test_...) and live mode (sk_live_...) keys. Always use test keys during development.
Rate Limits
API rate limits are enforced at 1,000 requests per minute per API key. Exceeding this limit will return a 429 Too Many Requests status. Rate limit information is provided in response headers:
| Header | Description |
|---|---|
X-RateLimit-Limit | Maximum requests allowed per minute |
X-RateLimit-Remaining | Remaining requests in current window |
X-RateLimit-Reset | Unix timestamp when the window resets |
Campaigns
Campaigns represent fundraising projects. You can create, retrieve, update, and delete campaigns.
List Campaigns
Returns a paginated list of campaigns associated with your account.
| Parameter | Type | Description |
|---|---|---|
status optional | string | Filter by status: draft, live, ended, funded |
limit optional | integer | Number of results (max 100, default 20) |
cursor optional | string | Cursor for pagination |
curl -X GET "https://api.raiseit.com/v1/campaigns?status=live&limit=10" \ -H "Authorization: Bearer sk_live_4eC39HqLyjWDarjtT1zdp7dc"
Create Campaign
Creates a new crowdfunding campaign.
| Parameter | Type | Description |
|---|---|---|
title required | string | Campaign title (max 100 chars) |
goal_amount required | integer | Funding goal in cents |
currency required | string | ISO 4217 currency code (e.g., USD) |
end_date required | string | ISO 8601 end date |
description optional | string | Rich text campaign description |
{
"id": "cmp_1N8s4eK4Zm5k8d9L",
"object": "campaign",
"title": "EcoGrow Smart Garden",
"status": "draft",
"goal_amount": 5000000,
"currency": "USD",
"raised_amount": 0,
"backer_count": 0,
"created_at": "2025-01-15T10:30:00Z"
}
Backers
Backers represent users who pledge to support a campaign.
Add Backer / Pledge
Creates a new backer pledge. This does not charge the card immediately unless capture=true.
| Parameter | Type | Description |
|---|---|---|
campaign_id required | string | ID of the campaign |
amount required | integer | Pledge amount in cents |
customer_email required | string | Backer's email address |
reward_id optional | string | Optional reward tier ID |
capture optional | boolean | If false, holds payment until campaign ends |
Webhooks
Webhooks allow you to receive real-time notifications when events occur in your RaiseIt account. Configure webhook endpoints in your dashboard.
Events
| Event Name | Description |
|---|---|
campaign.created | A new campaign was created |
campaign.go_live | Campaign published and is accepting pledges |
pledge.created | New backer pledge recorded |
payment.captured | Funds successfully transferred to creator |
campaign.funded | Campaign reached its goal |
whsec_... key before processing events. The signature is sent in the X-RaiseIt-Signature header.Error Handling
RaiseIt uses conventional HTTP status codes to indicate success or failure:
| Code | Meaning |
|---|---|
| 200 | OK - Request succeeded |
| 201 | Created - Resource successfully created |
| 400 | Bad Request - Missing or invalid parameters |
| 401 | Unauthorized - Invalid or missing API key |
| 404 | Not Found - Resource does not exist |
| 429 | Too Many Requests - Rate limit exceeded |
| 500 | Server Error - Something went wrong on our end |