Skip to content
GridRouterhome

Search

Search providers, capabilities and pages

Docs
API referenceLogs, drains and alerts

Tail the live log

GET
/v1/logs/live/recent

The newest events from the live tail (calls, waterfall run steps, jobs, lists and alerts), newest last, with the same filters as the stream: provider, capability, status, key, app, run or waterfall, minimum latency and cost, sample and fields. Stream them with GET /v1/logs/live or the logs://live MCP resource.

Authorization

bearer
AuthorizationBearer <token>

In: header

Query Parameters

kinds?array<>|

Event kinds (default: all)

provider?array<>|
capability?array<>|
endpoint_id?array<>|
key_id?array<>|
app_id?array<>|
mode?array<>|
client_mode?array<>|
supply_mode?array<>|
credential?array<>|
status?array<>|

hit, miss, failed (or error)

http_status?array<>|
error_code?array<>|
run_id?string

A run, waterfall run, list or job id: matches run_id, parent_id or the id itself

Match^[A-Za-z0-9_.:/@-]{1,200}$
waterfall_id?string

Only this waterfall's runs and attempts

Match^[A-Za-z0-9_.:/@-]{1,200}$
latency_min?|
Range0 <= value
cost_min?|

Micro-USD

Range0 <= value
query?string

Log query text, the /logs grammar (provider:mock -capability:email.find status:>=400): includes, exclusions, ranges and search; calls only

Lengthlength <= 2000
sample?|

Keep this share of events (0-1)

Range0 <= value <= 1
fields?array<>|

Project call rows to these columns

limit?integer

How many of the newest buffered events to return

Range1 <= value <= 1000
Default50

Response Body

application/json

application/json

curl -X GET "https://example.com/v1/logs/live/recent"
{  "items": [    {      "seq": 0,      "ts": "2019-08-24T14:15:22Z",      "shard": 0,      "kind": "call",      "row": {        "call_id": "string",        "parent_id": "string",        "attempt": 0,        "workspace_id": "string",        "app_id": "string",        "app_name": "string",        "key_id": "string",        "agent_id": "string",        "run_id": "string",        "supply_mode": "byok",        "capability": "string",        "endpoint_id": "string",        "provider": "string",        "mode": "string",        "client_mode": "sync",        "credential": "managed",        "outcome": "hit",        "error_code": "string",        "http_status": 0,        "upstream_status": 0,        "total_ms": 0,        "overhead_ms": 0,        "upstream_ms": 0,        "ttfb_ms": 0,        "queue_wait_ms": 0,        "bytes_in": 0,        "bytes_out": 0,        "cost_micro": 0,        "cache": "hit",        "saved_micro": 0,        "user_agent": "string",        "client_name": "string",        "client_version": "string",        "client_kind": "sdk",        "ip": "string",        "asn": 0,        "country": "string",        "colo": "string",        "meta": {          "property1": "string",          "property2": "string"        },        "request_hash": "string",        "effective_options": "",        "billing_verdict": "ok",        "billing_billable": null,        "vendor_expected_credits": null,        "vendor_reported_credits": null,        "vendor_balance_after": null,        "vendor_expected_micro": null,        "vendor_reported_micro": null,        "ts": "2019-08-24T14:15:22Z",        "has_body": true,        "property1": null,        "property2": null      }    }  ],  "shards": 0}