OpenAI reliability
Stop losing OpenAI requests when they fail.
ReqRun ensures every OpenAI request completes or fails visibly. It queues, retries, deduplicates, and gives each run a status endpoint.
Stop losing OpenAI requests when they fail because of timeouts, rate limits, or restarts. Drop it between your app and OpenAI when that work must not disappear.
rr_7f9c2avisibleticket-842dedupedDefinition
ReqRun ensures OpenAI requests complete reliably using retries, idempotency, async, and durable request IDs.
ReqRun focuses on one job: making important OpenAI requests complete or fail visibly.
Runnable shape
Replace the direct OpenAI call. Keep the request shape.
Send the same chat completion body to ReqRun. Add wait=true when you want a synchronous result, or store the rr_ id and check it later.
import { ReqRun } from "@reqrun/sdk";
const reqrun = new ReqRun({
apiKey: process.env.REQRUN_API_KEY!,
signingSecret: process.env.REQRUN_SIGNING_SECRET!,
baseURL: "https://api.reqrun.com",
});
const result = await reqrun.chat.completions.create({
model: "gpt-5-nano",
messages: [{ role: "user", content: "Classify this ticket." }],
wait: true,
idempotency_key: "ticket-842",
});const response = await reqrun.chat.completions.create({
model: "gpt-5-nano",
messages: [{ role: "user", content: "Classify this ticket." }],
wait: false,
idempotency_key: "ticket-842",
});
if (response.object === "chat.completion.async") {
const request = await reqrun.requests.get(response.id);
console.log(request.status, request.attempts);
}Category
When OpenAI calls fail, this is what changes.
Use ReqRun when an OpenAI request needs a durable record, safe retries, and a visible outcome instead of a silent failure.
ReqRun does not change your OpenAI request body. It changes what happens when that request hits a real failure case.
Operational visibility
Know whether the request is queued, retrying, completed, or failed.
See status, attempts, model, errors, and final result without logging raw prompts in app logs.
What ReqRun records
Use cases
Use this when an agent task must not fail halfway through.
Reliable LLM Calls Inside Agent Tasks
Use ReqRun when an agent task depends on an OpenAI request that should not disappear on timeout, rate limit, or worker restart.
Read Reliable LLM Calls Inside Agent TasksReliable LLM Steps In API Flows
Use ReqRun as the reliability boundary for the OpenAI call inside an API flow you already own.
Read Reliable LLM Steps In API FlowsDurable LLM Tasks For Automation
Use ReqRun when an automated process starts an OpenAI request that must finish or fail visibly.
Read Durable LLM Tasks For AutomationFeatures
The reliability pieces around one OpenAI request.
Retries with control
Requests don't silently fail when OpenAI returns a timeout, 429, or 5xx response.
Request IDs
Every request has a traceable outcome with an rr_ id and a visible status endpoint.
Idempotency by project
No duplicate work on retries when the same logical OpenAI request is sent again.
How it works
Three steps from API call to visible outcome.
Send the request
Call POST /v1/chat/completions with your ReqRun project API key.
ReqRun runs it
The request is queued, claimed by a worker, retried when safe, and recorded.
Observe the outcome
Use wait=true for fast results or GET /v1/requests/{id} for async status.
Start
Add reliability before your first failed OpenAI request costs you time.
Install the SDK, generate a project API key, and send your first durable OpenAI request.