Use idempotency keys
Give each logical operation a stable idempotency key so client-side retries do not create duplicate LLM requests.
import { ReqRun } from "@reqrun/sdk";
const reqrun = new ReqRun({
apiKey: process.env.REQRUN_API_KEY!,
baseURL: "https://api.reqrun.com",
});
const result = await reqrun.chat.completions.create({
model: "gpt-5-nano",
messages: [{ role: "user", content: "Summarize this incident." }],
wait: true,
idempotency_key: "incident-421",
});Inspect status
If wait=true falls back to async, call requests.get(id) to inspect status and attempts.
const request = await reqrun.requests.get("rr_abc123");
if (request.status === "completed") {
console.log(request.result);
}