Vercel
tcp/443 tcp/80
Open service 64.239.109.1:80 · www.openresponses.org
2026-01-12 18:02
HTTP/1.0 308 Permanent Redirect Content-Type: text/plain Location: https://www.openresponses.org/ Refresh: 0;url=https://www.openresponses.org/ server: Vercel Redirecting...
Open service 64.239.123.1:443 · www.openresponses.org
2026-01-12 18:02
HTTP/1.1 200 OK
Accept-Ranges: bytes
Access-Control-Allow-Origin: *
Age: 3466
Cache-Control: public, max-age=0, must-revalidate
Content-Disposition: inline
Content-Length: 15557
Content-Type: text/html; charset=utf-8
Date: Mon, 12 Jan 2026 18:02:26 GMT
Etag: "6c5d47c7b61ef8133a551fd8181acb0e"
Last-Modified: Mon, 12 Jan 2026 17:04:40 GMT
Server: Vercel
Strict-Transport-Security: max-age=63072000
X-Vercel-Cache: HIT
X-Vercel-Id: sfo1::f97gg-1768240946434-3e24629d5a97
Connection: close
Page title: Overview
<!DOCTYPE html><html lang="en"> <head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>Overview</title><meta name="description" content="OpenResponses documentation overview."><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap" rel="stylesheet"><link rel="stylesheet" href="/_astro/index.BCmUSTcn.css"><script type="module" src="/_astro/page.eHnhIOW6.js"></script></head> <body class="bg-orange-50 text-slate-900"> <div class="min-h-screen"> <header class="site-header"> <div class="mx-auto flex h-16 max-w-6xl items-center justify-between px-4 sm:px-6"> <div class="flex items-center gap-3"> <a href="/"> <div class="instrument-serif text-2xl font-semibold text-slate-900"> <span class="text-amber-500 italic">Open</span> Responses
</div> </a> </div> <div class="flex items-center gap-3 text-sm"> <button class="hidden rounded-full border border-slate-200 px-4 py-2 font-medium text-slate-700 hover:border-slate-300 lg:inline-flex">
Ask AI
</button> <div class="hidden items-center gap-2 text-slate-500 md:flex"> <span class="h-2 w-2 rounded-full bg-emerald-500"></span>
docs v1
</div> <button class="inline-flex items-center justify-center rounded-full border border-slate-200 p-2 text-slate-500 hover:border-slate-300 lg:hidden" aria-label="Open menu">
☰
</button> </div> </div> <script>
(() => {
const navBar = document.querySelector(".site-header");
const setScrolled = () => {
navBar.classList.toggle("is-scrolled", window.scrollY > 0);
};
setScrolled();
window.addEventListener("scroll", setScrolled, { passive: true });
})();
</script> </header> <main class="mx-auto grid max-w-6xl gap-10 px-4 py-10 sm:px-6 lg:grid-cols-[200px_1fr_220px]"> <aside class="hidden lg:block"> <div class="sticky top-24 space-y-2 text-sm text-slate-600"> <nav class="space-y-1"> <a class="block rounded-lg px-3 py-1.5 transition hover:text-amber-500 bg-slate-100 font-medium text-slate-900 shadow-inner" href="/" aria-current="page"> Overview </a><a class="block rounded-lg px-3 py-1.5 transition hover:text-amber-500" href="/specification"> Specification </a><a class="block rounded-lg px-3 py-1.5 transition hover:text-amber-500" href="/reference"> Reference </a> </nav> </div> </aside> <section class="min-w-0" data-toc-content> <div class="lg:hidden"> <nav class="mb-6 flex gap-2 overflow-x-auto pb-2 text-sm"> <a class="rounded-full border border-slate-200 px-3 py-1 whitespace-nowrap text-slate-600" href="/"> Overview </a><a class="rounded-full border border-slate-200 px-3 py-1 whitespace-nowrap text-slate-600" href="/specification"> Specification </a><a class="rounded-full border border-slate-200 px-3 py-1 whitespace-nowrap text-slate-600" href="/reference"> Reference </a> </nav> </div> <div class="mb-12"> <h1 class="landing-title"><span class="text-amber-500 italic">Open</span><br> <span class="text-slate-700">Responses</span></h1> </div> <article class="prose prose-slate max-w-none"> <p>Open Responses is an open-source specification and ecosystem for building multi-provider, interoperable LLM interfaces based on the OpenAI Responses API. It defines a shared schema, and tooling layer that enable a unified experience for calling language models, streaming results, and composing agentic workflows—independent of provider.</p>
<h2 id="why-open-responses">Why Open Responses</h2>
<p>LLM APIs have largely converged on similar building blocks—messages, tool calls, streaming, and multimodal inputs—but each provider encodes them differently. <strong>Open Responses</strong> gives builders a <strong>shared, open specification</strong> (plus reference tooling) so you can describe requests and outputs once, and run them across providers with minimal translation work.</p>
<p>It’s designed to be:</p>
<ul>
<li><strong>Multi-provider by default</str
Open service 64.239.109.1:443 · www.openresponses.org
2026-01-12 18:02
HTTP/1.1 200 OK
Accept-Ranges: bytes
Access-Control-Allow-Origin: *
Age: 17
Cache-Control: public, max-age=0, must-revalidate
Content-Disposition: inline
Content-Length: 15557
Content-Type: text/html; charset=utf-8
Date: Mon, 12 Jan 2026 18:02:26 GMT
Etag: "6c5d47c7b61ef8133a551fd8181acb0e"
Last-Modified: Mon, 12 Jan 2026 18:02:09 GMT
Server: Vercel
Strict-Transport-Security: max-age=63072000
X-Vercel-Cache: HIT
X-Vercel-Id: fra1::cqs7z-1768240946381-57147697f9b2
Connection: close
Page title: Overview
<!DOCTYPE html><html lang="en"> <head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>Overview</title><meta name="description" content="OpenResponses documentation overview."><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap" rel="stylesheet"><link rel="stylesheet" href="/_astro/index.BCmUSTcn.css"><script type="module" src="/_astro/page.eHnhIOW6.js"></script></head> <body class="bg-orange-50 text-slate-900"> <div class="min-h-screen"> <header class="site-header"> <div class="mx-auto flex h-16 max-w-6xl items-center justify-between px-4 sm:px-6"> <div class="flex items-center gap-3"> <a href="/"> <div class="instrument-serif text-2xl font-semibold text-slate-900"> <span class="text-amber-500 italic">Open</span> Responses
</div> </a> </div> <div class="flex items-center gap-3 text-sm"> <button class="hidden rounded-full border border-slate-200 px-4 py-2 font-medium text-slate-700 hover:border-slate-300 lg:inline-flex">
Ask AI
</button> <div class="hidden items-center gap-2 text-slate-500 md:flex"> <span class="h-2 w-2 rounded-full bg-emerald-500"></span>
docs v1
</div> <button class="inline-flex items-center justify-center rounded-full border border-slate-200 p-2 text-slate-500 hover:border-slate-300 lg:hidden" aria-label="Open menu">
☰
</button> </div> </div> <script>
(() => {
const navBar = document.querySelector(".site-header");
const setScrolled = () => {
navBar.classList.toggle("is-scrolled", window.scrollY > 0);
};
setScrolled();
window.addEventListener("scroll", setScrolled, { passive: true });
})();
</script> </header> <main class="mx-auto grid max-w-6xl gap-10 px-4 py-10 sm:px-6 lg:grid-cols-[200px_1fr_220px]"> <aside class="hidden lg:block"> <div class="sticky top-24 space-y-2 text-sm text-slate-600"> <nav class="space-y-1"> <a class="block rounded-lg px-3 py-1.5 transition hover:text-amber-500 bg-slate-100 font-medium text-slate-900 shadow-inner" href="/" aria-current="page"> Overview </a><a class="block rounded-lg px-3 py-1.5 transition hover:text-amber-500" href="/specification"> Specification </a><a class="block rounded-lg px-3 py-1.5 transition hover:text-amber-500" href="/reference"> Reference </a> </nav> </div> </aside> <section class="min-w-0" data-toc-content> <div class="lg:hidden"> <nav class="mb-6 flex gap-2 overflow-x-auto pb-2 text-sm"> <a class="rounded-full border border-slate-200 px-3 py-1 whitespace-nowrap text-slate-600" href="/"> Overview </a><a class="rounded-full border border-slate-200 px-3 py-1 whitespace-nowrap text-slate-600" href="/specification"> Specification </a><a class="rounded-full border border-slate-200 px-3 py-1 whitespace-nowrap text-slate-600" href="/reference"> Reference </a> </nav> </div> <div class="mb-12"> <h1 class="landing-title"><span class="text-amber-500 italic">Open</span><br> <span class="text-slate-700">Responses</span></h1> </div> <article class="prose prose-slate max-w-none"> <p>Open Responses is an open-source specification and ecosystem for building multi-provider, interoperable LLM interfaces based on the OpenAI Responses API. It defines a shared schema, and tooling layer that enable a unified experience for calling language models, streaming results, and composing agentic workflows—independent of provider.</p>
<h2 id="why-open-responses">Why Open Responses</h2>
<p>LLM APIs have largely converged on similar building blocks—messages, tool calls, streaming, and multimodal inputs—but each provider encodes them differently. <strong>Open Responses</strong> gives builders a <strong>shared, open specification</strong> (plus reference tooling) so you can describe requests and outputs once, and run them across providers with minimal translation work.</p>
<p>It’s designed to be:</p>
<ul>
<li><strong>Multi-provider by default</str
Open service 64.239.123.1:80 · www.openresponses.org
2026-01-12 18:02
HTTP/1.0 308 Permanent Redirect Content-Type: text/plain Location: https://www.openresponses.org/ Refresh: 0;url=https://www.openresponses.org/ server: Vercel Redirecting...
Open service 64.239.109.1:80 · openresponses.org
2026-01-12 18:02
HTTP/1.0 308 Permanent Redirect Content-Type: text/plain Location: https://openresponses.org/ Refresh: 0;url=https://openresponses.org/ server: Vercel Redirecting...
Open service 64.239.109.1:443 · openresponses.org
2026-01-12 18:02
HTTP/1.1 307 Temporary Redirect Cache-Control: public, max-age=0, must-revalidate Content-Type: text/plain Date: Mon, 12 Jan 2026 18:02:04 GMT Location: https://www.openresponses.org/ Server: Vercel Strict-Transport-Security: max-age=63072000 X-Vercel-Id: fra1::xhbtl-1768240924563-66b741ff436e Connection: close Transfer-Encoding: chunked Redirecting...