List Campaigns
Retrieve a paginated list of campaigns.
GET /external/v1/campaignsAuthentication
Requires API key with campaigns:read permission.
Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
status | string | - | Filter by campaign status |
page | number | 1 | Page number |
limit | number | 50 | Items per page (max 100) |
Response
json
{
"success": true,
"data": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Tech Founders SF Q1",
"status": "active",
"automation_active": true,
"created_at": "2026-01-15T10:30:00Z",
"updated_at": "2026-03-20T14:22:00Z",
"contact_count": 250
}
],
"pagination": {
"page": 1,
"per_page": 50,
"total": 12,
"total_pages": 1,
"has_next": false,
"has_prev": false
}
}Example
cURL
bash
curl --request GET \
--url "https://app.getraze.com/external/v1/campaigns?status=active" \
--header "X-API-Key: YOUR_API_KEY"JavaScript
javascript
const response = await fetch(
'https://app.getraze.com/external/v1/campaigns?status=active',
{
headers: { 'X-API-Key': 'YOUR_API_KEY' }
}
);
const data = await response.json();Python
python
import requests
response = requests.get(
'https://app.getraze.com/external/v1/campaigns',
params={'status': 'active'},
headers={'X-API-Key': 'YOUR_API_KEY'}
)
data = response.json()Errors
| Status | Code | Description |
|---|---|---|
| 401 | MISSING_API_KEY | No API key provided |
| 401 | INVALID_API_KEY | Invalid API key |
| 403 | INSUFFICIENT_PERMISSIONS | Missing campaigns:read permission |