API Overview v1.2.0
DataPulse Analytics API provides programmatic access to enterprise analytics, AI predictions, and data pipeline orchestration. Base URL for all requests:
BASE_URL=https://api.datapulse.ai/v1
All endpoints return JSON responses. Pagination is supported via limit and offset query parameters.
Authentication
Authenticate requests using Bearer tokens. Generate API keys from your dashboard under Settings → API Keys.
Authorization: Bearer <your_api_key>
Tokens expire after 365 days. Rotate keys regularly. Never expose keys in client-side code.
Reports
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| status | string | Optional | Filter by report status (pending, completed, failed) |
| date_from | ISO 8601 | Optional | Start date for report range |
| limit | integer | Optional | Max results per page (default: 20) |
curl -X GET "https://api.datapulse.ai/v1/analytics/reports?status=completed&limit=10" \ -H "Authorization: Bearer YOUR_API_KEY"
{
"status": "success",
"data": [
{
"id": "rpt_8x92k1m4",
"name": "Q3 Revenue Analysis",
"status": "completed",
"created_at": "2024-10-15T14:30:00Z",
"download_url": "https://cdn.datapulse.ai/reports/rpt_8x92k1m4.pdf"
}
],
"meta": {
"total": 42,
"page": 1,
"per_page": 10
}
}
Request Body
{
"workspace_id": "ws_9k2x",
"sql": "SELECT region, SUM(revenue) FROM sales GROUP BY region",
"timeout_ms": 30000,
"format": "csv"
}
Queries execute asynchronously. Use the returned query_id to poll for results at /queries/{id}.
AI Predictions
Path Parameters
| Parameter | Type | Description |
|---|---|---|
| model_id | string | Deployed model identifier (e.g., mdl_churn_v2) |
Returns real-time inference results with confidence scores and feature attributions.
HTTP Status Codes
DataPulse uses standard HTTP status codes to indicate success or failure.
Rate Limits
API requests are throttled based on your plan tier. Limits reset every 60 seconds.
| Plan | Requests/min | Burst | Concurrency |
|---|---|---|---|
| Developer | 60 | 10 | 2 |
| Professional | 600 | 50 | 10 |
| Enterprise | 6000 | 200 | 50 |
Monitor usage via response headers: X-RateLimit-Remaining, X-RateLimit-Reset.