Admin API Reference
The Rise Admin API allows you to programmatically manage Jobs, users, and configurations.
Base URL
https://api.getrise.ai/v1
Authentication
All API requests require authentication using an API key:
curl -H "Authorization: Bearer YOUR_API_KEY" \
https://api.getrise.ai/v1/jobs
Get Your API Key
- Log into Rise Admin Console
- Navigate to Settings > API Keys
- Click Create New Key
- Copy and securely store your key
Security:
- Never commit API keys to version control
- Use environment variables
- Rotate keys periodically
- Use different keys for dev/prod
Jobs API
List All Jobs
GET /v1/jobs
Response:
{
"jobs": [
{
"id": "job_abc123",
"name": "Complete Profile Setup",
"status": "active",
"priority": "high",
"created_at": "2024-10-01T10:00:00Z",
"metrics": {
"completion_rate": 0.72,
"users_targeted": 1240,
"users_completed": 893
}
}
],
"total": 12,
"page": 1
}
Get Job Details
GET /v1/jobs/{job_id}
Response:
{
"id": "job_abc123",
"name": "Complete Profile Setup",
"description": "Help new users complete their profile",
"goal": "User fills in all required profile fields",
"status": "active",
"priority": "high",
"target_audience": {
"type": "segment",
"criteria": "days_since_signup <= 7"
},
"automation": {
"level": "guided_shortcuts",
"requires_confirmation": true
},
"metrics": {
"completion_rate": 0.72,
"avg_time_to_completion": 145,
"users_targeted": 1240,
"users_completed": 893
},
"created_at": "2024-10-01T10:00:00Z",
"updated_at": "2024-10-15T14:23:00Z"
}
Create Job
POST /v1/jobs
Request Body:
{
"name": "First Data Export",
"description": "Help users export data for the first time",
"goal": "User successfully exports data",
"priority": "medium",
"target_audience": {
"type": "segment",
"criteria": "days_since_signup > 7 AND export_count = 0"
},
"automation": {
"level": "subtle_hints",
"requires_confirmation": false
}
}
Response:
{
"id": "job_xyz789",
"name": "First Data Export",
"status": "draft",
"created_at": "2024-10-16T10:00:00Z"
}
Update Job
PATCH /v1/jobs/{job_id}
Request Body:
{
"status": "active",
"priority": "high"
}
Delete Job
DELETE /v1/jobs/{job_id}
Response:
{
"id": "job_abc123",
"deleted": true
}
Users API
Identify User
POST /v1/users/identify
Request Body:
{
"user_id": "user_123",
"properties": {
"email": "user@example.com",
"plan": "pro",
"company": "Acme Inc"
}
}
Update User Properties
PATCH /v1/users/{user_id}
Request Body:
{
"properties": {
"plan": "enterprise",
"mrr": 500
}
}
Delete User Data (GDPR)
DELETE /v1/users/{user_id}
Deletes all user data in compliance with GDPR/privacy regulations.
Events API
Track Event
POST /v1/events
Request Body:
{
"user_id": "user_123",
"event": "feature_used",
"properties": {
"feature_name": "export",
"format": "csv"
},
"timestamp": "2024-10-16T14:23:00Z"
}
Batch Track Events
POST /v1/events/batch
Request Body:
{
"events": [
{
"user_id": "user_123",
"event": "page_viewed",
"properties": { "page": "/dashboard" }
},
{
"user_id": "user_456",
"event": "feature_used",
"properties": { "feature": "export" }
}
]
}
Cohorts API
List Cohorts
GET /v1/cohorts
Get Cohort Users
GET /v1/cohorts/{cohort_id}/users
Create Custom Cohort
POST /v1/cohorts
Request Body:
{
"name": "Power Users",
"criteria": {
"features_used": { "gte": 20 },
"days_active": { "gte": 30 }
}
}
Webhooks
Configure Webhooks
Receive real-time notifications for events:
POST /v1/webhooks
Request Body:
{
"url": "https://your-app.com/webhooks/rise",
"events": [
"job.completed",
"user.friction_detected",
"cohort.changed"
]
}
Webhook Payload Example
{
"event": "job.completed",
"data": {
"job_id": "job_abc123",
"user_id": "user_123",
"completed_at": "2024-10-16T14:23:00Z"
},
"timestamp": "2024-10-16T14:23:01Z"
}
Rate Limits
- Standard tier: 1,000 requests/hour
- Pro tier: 10,000 requests/hour
- Enterprise: Custom limits
Rate limit headers:
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 847
X-RateLimit-Reset: 1697456789
Error Responses
{
"error": {
"code": "invalid_request",
"message": "Missing required field: name",
"details": {
"field": "name",
"reason": "required"
}
}
}
Common Error Codes:
400- Bad Request401- Unauthorized (invalid API key)403- Forbidden (insufficient permissions)404- Not Found429- Rate Limit Exceeded500- Internal Server Error
SDKs and Libraries
Official SDKs
Node.js:
npm install @getrise-ai/node-sdk
Python:
pip install rise-ai
Ruby:
gem install rise-ai
Example Usage (Node.js)
const Rise = require('@getrise-ai/node-sdk');
const client = new Rise({
apiKey: process.env.RISE_API_KEY
});
// Create a Job
const job = await client.jobs.create({
name: 'Complete Onboarding',
goal: 'User completes all onboarding steps',
priority: 'high'
});
// Get analytics
const analytics = await client.analytics.features({
dateRange: 'last_30_days'
});