Skip to content
Sandbox

Request IDs

Noryo-Request-Id identifies one HTTP attempt: its shape, why it changes on every retry, where to find it, and how to use it with support.

View as Markdown

Noryo-Request-Id identifies one HTTP attempt. Noryo creates it for every request received, and it is the only handle support needs to find out what happened.

noryo-request-id: req_01a07868-6443-79fa-a4c8-221f1745244f
HTTP

Its properties

PropertyValue
Shapereq_ followed by a version 7 UUID
OrderingTime-ordered: sorting by identifier means sorting by arrival time
WhereThe Noryo-Request-Id header of every response, success or error; the request_id field of every error body
UniquenessOne attempt, one identifier: the same in the header, the body and Noryo's logs, including on a 500
Who chooses itNoryo only. A Noryo-Request-Id sent by the client is ignored and replaced.

New on every attempt

A retry is a new attempt, hence a new identifier, even when it returns a memorised response:

AttemptIdempotency-KeyNoryo-Request-IdNoryo-Idempotency-Replayed
1demo-001req_01a07868-…false
2 (retry)demo-001req_01a0786b-…true

The Idempotency-Key links the attempts of one operation; the Noryo-Request-Id tells each of them apart. Log both.

In a replayed body, the content is that of the first response; the identifier of the current attempt is the one in the header.

Where to find it later

  • In your logs, if you write it there: that is the recommendation.
  • On the Usage page of Platform, under recent calls: every call that produced a result appears with its request_id, its date, its enrichment_id, its result and its units, engine failures included. Replays (by Idempotency-Key or by external_transaction_id) and attempts refused before computation (a 401, a validation 400, a 429) do not appear there.

With support

Quote the Noryo-Request-Id of the attempt concerned. It is enough to find the exact attempt in Noryo's logs: the route, the status returned, the error code, the time spent per step. You do not need to pass on your key, the descriptor or the external_transaction_id: never send them to support.

What to log on your side

const res = await fetch(url, init);
logger.info({
  noryo_request_id: res.headers.get("noryo-request-id"),
  idempotency_key: idempotencyKey,
  status: res.status,
  replayed: res.headers.get("noryo-idempotency-replayed"),
});
TypeScript

Never log the Authorization header.

Published on 2026-10-08 21:04 UTC (version 1).

Was this page helpful?