Replay Log Entry

POST /v1/traffic/logs/{uuid}/replay

Re-fire a previously-logged request against the same endpoint. The platform reconstructs the original request from the log (method, path, headers, body sample) and sends it through the same routing path again. The replayed request is itself logged by the edge (asynchronously) as a replay — find it in /traffic/logs; its detail carries is_replay: true and the source entry's original_request_uuid.

Use cases:

  • Reproducing an upstream failure after deploying a fix.
  • Walking through a CORS / auth issue with the agent's logs side-by-side.
  • Testing the impact of a new traffic policy.

Idempotency is the caller's responsibility — replaying a POST /v1/payments/charge may double-charge. Limit replays to read-only operations or coordinate with the upstream first.

Path parameters

uuid string (uuid) Req
The log entry's uuid from /traffic/logs.

Deprecated: the legacy integer id is still accepted in the path until the sunset, answered with Deprecation and Sunset headers. Use the uuid.

Request body

Optional — send an empty body or {} to replay the stored request unchanged.

method string
Optional. Override the HTTP method.
url string
Optional. Override the request path + query. The scheme/host are always forced to the tunnel's public URL (SSRF protection), so any host you pass is ignored.
headers object
Optional. Header name → value overrides.
body string
Optional. Override the request body.
timeout int
Optional. Replay timeout in seconds. Defaults to 30.
replay_type string
Optional. original forces the stored request data and ignores any override fields above. Any other value is a modified replay and applies your overrides.

Modified replays are plan-gated: any replay_type other than original requires the replay_with_modification entitlement (403 Forbidden without it). Replaying the stored request unchanged is available to all traffic_inspector holders.

Response (200 OK)

status int
HTTP status of the replayed request. For replay-failed cases the call returns a 4xx/5xx error directly.
headers, body object / string
Response headers (first value per name) and body of the replayed request.
original_request_uuid string (uuid)
The uuid of the log entry you replayed. Use GET /v1/traffic/logs/{uuid} to inspect it.
latency_ms int
How long the replayed request took.
timestamp datetime
When the replay ran.

Deprecated: until the sunset this response also carries the legacy integer id and *_id fields. Don't use them; read uuid and the *_uuid fields.

Errors

400 Bad Request
An integer id after the sunset (integer_id_unsupported).
401 Unauthorized
Missing auth.
403 Forbidden
Plan doesn't include traffic_inspector, or a modified replay (replay_type ≠ original) was requested without the replay_with_modification entitlement.
404 Not Found
Log doesn't exist or its body sample was truncated to nothing (can't reconstruct).
502 Bad Gateway
Endpoint has no agent connected — replay can't be delivered.
Request
curl -X POST "https://api.ngris.com/v1/traffic/logs/019ba303-954b-796c-bf40-f33a26697f74/replay" \ -H "X-API-KEY: <your_api_key>" \ -H "Content-Type: application/json"
Python
from ngris import Ngris client = Ngris(api_key="<your_api_key>") result = client.traffic.replay_log("019ba303-954b-796c-bf40-f33a26697f74") print(f"Replayed {result['original_request_uuid']} → {result['status']} in {result['latency_ms']}ms")
Response — 200 OK
{ "status": 200, "headers": {"Content-Type": "application/json"}, "body": "{\"users\": []}", "original_request_uuid": "019ba303-954b-796c-bf40-f33a26697f74", "latency_ms": 47, "timestamp": "2026-04-29T13:10:02Z" }
Was this helpful?
On this page
Replay Log Entry
Was this helpful?