Skip to content
shadwshadw/Docs
GuidesAPIGetting Started
Dashboard
shadw REST APIOverviewErrors
  • GETGet the overview
  • GETGet logs
  • GETGet cluster resources
APIs & SDKs/shadw REST API/Get logs

Get logs

GEThttps://api.shadw.cloud/v1/logs

Request + control-plane events for the active team, across the selected time window. Every filter is applied server-side; a malformed value is a 400, never a silently-ignored no-op.

Authentication

AuthorizationbearerToken

A platform API key (hive_…, created under Settings → API Keys) or a JWT of at most 1 hour from POST /v1/token, which is server-only once HIVE_JWT_SECRET is set. An API key scopes the request to the team it was created under.

Query parameters

limitnumberOptional

Max events per page (default 100, clamped to 1000).

rangestringOptional

Named window: 30m | 1h | 24h | 7d | 30d. 30d requires the Pro or Enterprise plan (402 PLAN_UPGRADE_REQUIRED otherwise).

since_msnumberOptional

Absolute inclusive lower bound (epoch ms). Alternative to range=.

until_msnumberOptional

Absolute inclusive upper bound (epoch ms).

projectstringOptional

Restrict to one project.

deploymentstringOptional

Restrict to one deployment id.

qstringOptional

Free-text search over path, host, detail and action.

statusstringOptional

Comma-separated codes and/or classes, e.g. 404,5xx.

methodstringOptional

Comma-separated request methods, e.g. get,post.

hoststringOptional

Comma-separated host substrings.

routestringOptional

Comma-separated path substrings.

levelstringOptional

Derived severity: info | warning | error | fatal.

cachestringOptional

Derived cache outcome: hit | miss | stale | store | revalidate.

envstringOptional

Derived from the deployment target: production | preview.

resourcestringOptional

Derived from the deployment kind: static | function | fullstack.

offsetnumberOptional

Rows to skip after the fleet-wide merge (paging).

cursornumberOptional

Return only events strictly older than this ts_ms.

ts
const response = await fetch('https://api.shadw.cloud/v1/logs', {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY', // hive_… (Settings → API Keys)
  },
});

const data = await response.json();
console.log(data);
Response
json
[ { "ts_ms": 1781906630000, "method": "GET", "host": "acme-app.localhost", "status": 200, "cache": "hit", "level": "info", "env": "production", "resource": "static" } ]