All docs

Request Logs

Inspect your organization's most recent API requests for debugging

GET /api/v1/logs returns your organization’s most recent API requests — method, path, status code, and the request_id — so you can debug an integration without adding logging on your side. It’s the developer equivalent of the request log in a payments dashboard.

Each entry corresponds to one authenticated API call your keys made, newest first.

Endpoint

GET /api/v1/logs?limit=50
ParameterTypeDefaultRangeDescription
limitinteger501–200Max entries to return (most recent first)

Response

{
  "data": [
    {
      "request_id": "a1b2c3d4e5f6...",
      "method": "POST",
      "path": "/api/v1/contacts",
      "status": 201,
      "timestamp": 1717000000
    },
    {
      "request_id": "f6e5d4c3b2a1...",
      "method": "GET",
      "path": "/api/v1/usage",
      "status": 200,
      "timestamp": 1716999990
    }
  ]
}
FieldTypeDescription
request_idstringCorrelation id — matches the X-Request-Id header on the original response
methodstringHTTP method
pathstringRequest path
statusintegerHTTP status code of the response
timestampintegerUnix seconds when the request completed

Examples

cURL

curl "https://be.graph8.com/api/v1/logs?limit=20" \
  -H "Authorization: Bearer $API_KEY"

Python

import httpx

r = httpx.get(
    "https://be.graph8.com/api/v1/logs",
    headers={"Authorization": f"Bearer {API_KEY}"},
    params={"limit": 20},
)
for entry in r.json()["data"]:
    print(entry["status"], entry["method"], entry["path"], entry["request_id"])

TypeScript

const res = await fetch("https://be.graph8.com/api/v1/logs?limit=20", {
  headers: { Authorization: `Bearer ${API_KEY}` },
});
const { data } = await res.json();
data.forEach((e) => console.log(e.status, e.method, e.path, e.request_id));

Correlating with X-Request-Id

Every API response carries an X-Request-Id header. The same id appears as request_id here and in any error envelope’s request_id field — so when a call fails, you can grab the id from the response and find the exact entry in your logs (or quote it to support).

Notes & limits

  • Scope — logs are per-organization and cover requests authenticated with your org’s API keys.
  • Retention — a rolling window of the most recent requests (the latest ~100), retained for up to 7 days. This is a debugging aid, not a permanent audit trail — export anything you need to keep.
  • Best-effort — logging never blocks or slows your API calls. In the rare event logging is briefly unavailable, an entry may be missing; the original request still succeeds normally.
  • No bodies — only request metadata is stored (method, path, status, id). Request and response bodies are never logged.
Build with graph8