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.

terminal
bash
# 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/_bulk
terminal
bash
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 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/push
terminal
bash
curl -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/logs
terminal
bash
curl -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
terminal
bash
# 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:1514

What Happens Next

Once your logs start flowing, Epok's intelligence engine activates automatically. No configuration needed.

1

Search and LiveTail work immediately

As soon as your first log arrives, you can search it and see it in LiveTail. No indexing delay.

2

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.

3

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.

4

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.

MethodEndpoint
GET/health
GET/auth/me
GET/api/v1/alerts
GET/api/v1/alerts/{alertId}
POST/api/v1/alerts/{alertId}/resolve
GET/api/v1/streams
POST/api/v1/channels
GET/api/v1/channels
DELETE/api/v1/channels/{channelId}
GET/api/v1/detectors

Ready to get started?

Open Epok Dashboard

Free tier includes 5 GB/day with all intelligence features. No credit card required.