Documentation
Get started with Epok in under 5 minutes. Send your first logs and let the intelligence engine do the rest.
Authentication
Epok uses API keys for log ingestion and API access. You'll get a default API key when you sign up. Find it in Settings.
Include your API key in every request as a Bearer token or X-API-Key header:
Authorization: Bearer epk_your_api_key
— or —
X-API-Key: epk_your_api_key
Quick Start
Send your first log entry to Epok using curl. Replace YOUR_API_KEY with your actual API key from Settings.
# Send logs via curl (Elasticsearch bulk format)
curl -X POST https://app.getepok.dev/insert/elasticsearch/_bulk \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '
{"create":{}}
{"_msg":"Application started","level":"info","service":"api","_time":"2026-02-21T00:00:00Z"}
'That's it. Epok immediately begins indexing and analyzing your logs. Open the dashboard to see them in LiveTail.
Integration Examples
Epok accepts logs in multiple formats. Choose the one that matches your stack. All examples include the required auth header.
Elasticsearch Bulk
POST /insert/elasticsearch/_bulkcurl -X POST https://app.getepok.dev/insert/elasticsearch/_bulk \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '
{"create":{}}
{"_msg":"Application started successfully","level":"info","service":"api","_time":"2026-02-21T00:00:00Z"}
{"create":{}}
{"_msg":"GET /api/users 200 42ms","level":"info","service":"api","status_code":200,"duration_ms":42}
'Loki
POST /loki/api/v1/pushcurl -X POST https://app.getepok.dev/loki/api/v1/push \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"streams": [{
"stream": {"app": "api", "env": "production"},
"values": [
["1740096000000000000", "Application started successfully"],
["1740096001000000000", "GET /api/users 200 42ms"]
]
}]
}'OTLP (OpenTelemetry)
POST /v1/logscurl -X POST https://app.getepok.dev/v1/logs \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"resourceLogs": [{
"resource": {
"attributes": [
{"key": "service.name", "value": {"stringValue": "api"}}
]
},
"scopeLogs": [{
"logRecords": [{
"timeUnixNano": "1740096000000000000",
"body": {"stringValue": "Application started successfully"},
"severityText": "INFO"
}]
}]
}]
}'Syslog
TCP/UDP port 1514# Send via TCP
echo '<14>1 2026-02-21T00:00:00Z myhost api - - - Application started' \
| nc app.getepok.dev 1514
# Or configure rsyslog
# /etc/rsyslog.d/epok.conf
*.* @@app.getepok.dev:1514What Happens Next
Once your logs start flowing, Epok's intelligence engine activates automatically. No configuration needed.
Search and LiveTail work immediately
As soon as your first log arrives, you can search it and see it in LiveTail. No indexing delay.
New errors are detected from the first log
Epok fingerprints every error-level log message. The instant a never-before-seen error appears, it shows up in the New Errors feed.
Silence detection activates within 1 hour
Epok learns each service's expected log cadence. If a service that was sending logs every 30 seconds goes quiet for 5 minutes, you'll get an alert.
Volume baselines build over 3 days
Log rate anomaly detection needs to learn your normal patterns — per service, per hour, per day of week. After 3 days of data, spike and drop alerts activate automatically.
API Reference
All API endpoints require authentication. Browser sessions use cookies (set during Google sign-in). Programmatic access uses API key headers.
| Method | Endpoint | Description |
|---|---|---|
| GET | /health | Health check |
| GET | /auth/me | Get current user and tenant info |
| GET | /api/v1/alerts | List alerts (firing + recent resolved) |
| GET | /api/v1/alerts/{alertId} | Get alert details |
| POST | /api/v1/alerts/{alertId}/resolve | Manually resolve an alert |
| GET | /api/v1/streams | List monitored streams |
| POST | /api/v1/channels | Add notification channel (Slack, webhook, email) |
| GET | /api/v1/channels | List notification channels |
| DELETE | /api/v1/channels/{channelId} | Remove notification channel |
| GET | /api/v1/detectors | List registered detectors and status |
Ready to get started?
Open Epok DashboardFree tier includes 5 GB/day with all intelligence features. No credit card required.