Request Logs

Every request proxied through EdgeWrap is logged with full metadata — method, path, status, latency, cache outcome, WAF decision, and country.

View Logs

Fetch the last 20 requests
curl "https://server.edgewrap.pro/v1/projects/prj_01jxyz/logs?limit=20" \
  -H "Authorization: Bearer <your_token>"
200Success
{
  "success": true,
  "data": [
    {
      "id": "log_01",
      "timestamp": "2026-06-16T08:23:01Z",
      "method": "GET",
      "path": "/api/products",
      "statusCode": 200,
      "latencyMs": 42,
      "cacheStatus": "HIT",
      "country": "US",
      "ip": "203.0.113.10",
      "wafAction": null
    },
    {
      "id": "log_02",
      "timestamp": "2026-06-16T08:22:58Z",
      "method": "POST",
      "path": "/api/orders",
      "statusCode": 201,
      "latencyMs": 180,
      "cacheStatus": "BYPASS",
      "country": "DE",
      "ip": "198.51.100.5",
      "wafAction": null
    }
  ],
  "meta": {
    "page": 1,
    "limit": 20,
    "total": 4821
  }
}

Filter Logs

Use query parameters to narrow results. All filters can be combined.

# All 5xx errors in the last 24 hours
curl "https://server.edgewrap.pro/v1/projects/prj_01jxyz/logs?statusRange=5xx&from=2026-06-15T08:00:00Z" \
  -H "Authorization: Bearer <your_token>"

# WAF-blocked requests only
curl "https://server.edgewrap.pro/v1/projects/prj_01jxyz/logs?wafBlocked=true&limit=50" \
  -H "Authorization: Bearer <your_token>"

# Requests to a specific path from Germany
curl "https://server.edgewrap.pro/v1/projects/prj_01jxyz/logs?path=/api/payments&country=DE" \
  -H "Authorization: Bearer <your_token>"

# Cache misses only
curl "https://server.edgewrap.pro/v1/projects/prj_01jxyz/logs?cacheStatus=MISS" \
  -H "Authorization: Bearer <your_token>"

Get a Single Log

curl https://server.edgewrap.pro/v1/projects/prj_01jxyz/logs/log_01 \
  -H "Authorization: Bearer <your_token>"
200Success
{
  "success": true,
  "data": {
    "id": "log_01",
    "timestamp": "2026-06-16T08:23:01Z",
    "method": "GET",
    "path": "/api/products",
    "queryString": "?sort=price",
    "statusCode": 200,
    "latencyMs": 42,
    "originLatencyMs": null,
    "cacheStatus": "HIT",
    "cacheAge": 120,
    "country": "US",
    "ip": "203.0.113.10",
    "userAgent": "Mozilla/5.0...",
    "wafAction": null,
    "wafThreatType": null,
    "botScore": 8,
    "requestId": "req_01jxyz"
  }
}

Log Retention

PlanRetention
Free1 day
Starter7 days
Pro30 days
Team90 days
Enterprise365 days
Tip: Use the requestId from logs to correlate with your own application logs. EdgeWrap adds this as the X-Request-ID response header on every proxied request.