API Overview
The EdLog API allows you to programmatically send events, manage projects, and retrieve data from your monitoring dashboard. All API requests use JSON and require authentication via API keys.
Base URL
https://your-edlog-domain.com/api/v1
Authentication
All API requests require authentication using an API key. Include your API key in the Authorization header:
Authorization: Bearer YOUR_API_KEY
Security: Keep your API keys secure. Never commit them to version control or expose them in client-side code.
Request Format
All POST and PUT requests must include a JSON body with the appropriate Content-Type header:
Content-Type: application/json
Response Format
All responses are returned as JSON. Successful responses will have appropriate HTTP status codes:
| Status Code | Description |
|---|---|
200 OK |
Request successful |
201 Created |
Resource created successfully |
400 Bad Request |
Invalid request format or parameters |
401 Unauthorized |
Invalid or missing API key |
404 Not Found |
Resource not found |
429 Too Many Requests |
Rate limit exceeded |
500 Internal Server Error |
Server error |
Error Responses
Error responses include a JSON object with error details:
{
"error": {
"code": "validation_error",
"message": "Validation failed",
"details": {
"project_key": ["can't be blank"],
"type": ["is not included in the list"]
}
}
}
Rate Limiting
API endpoints are rate-limited to prevent abuse. The following limits apply:
- Global: 10,000 requests/hour (system-wide)
- Per-Account: 5,000 requests/hour
- Per-Project: 1,000 requests/hour
- Burst: 100 requests/minute per project
Rate limit information is included in response headers:
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 999
X-RateLimit-Reset: 1640995200
X-Burst-Limit: 100
X-Burst-Remaining: 99
Pagination
List endpoints support pagination using query parameters:
page- Page number (default: 1)per_page- Items per page (default: 25, max: 100)
Example:
GET /api/v1/events?page=2&per_page=50
Paginated responses include metadata:
{
"data": [...],
"meta": {
"current_page": 2,
"total_pages": 10,
"total_count": 250,
"per_page": 25
}
}
Available Endpoints
Webhook Events
POST /webhooks- Send a webhook eventGET /events- List eventsGET /events/:id- Get event details
Projects
GET /projects- List projectsGET /projects/:id- Get project detailsPUT /projects/:id- Update project
Tiles
GET /tiles- List dashboard tilesGET /tiles/:id- Get tile detailsGET /tiles/:id/state- Get tile current state
Notifications
GET /notifications- List notification servicesPOST /notifications/:id/send- Send test notification
System
GET /rate_limits- Check current rate limitsGET /health- Health check endpoint