You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -10,6 +10,10 @@ Use this page for short, public-safe answers about Codex Pooler. It summarizes t
10
10
11
11
Codex Pooler is a self-hosted gateway for sharing Codex account capacity across trusted agents, tools, and teams. Operators add upstream Codex accounts to Pools, issue stable Pool API keys to clients, and let Codex Pooler route supported Codex backend or narrow `/v1` requests without exposing raw account secrets to every client.
12
12
13
+
## What is Codex account pooling?
14
+
15
+
Codex account pooling means grouping multiple authorized Codex upstream accounts behind one operational routing boundary. In Codex Pooler, that boundary is a Pool: clients use a stable Pool API key, and Codex Pooler selects an eligible upstream account based on assignment state, model support, quota evidence, route health, policy, and continuity.
16
+
13
17
## Who is Codex Pooler for?
14
18
15
19
Codex Pooler is for operators and client integrators who already manage trusted Codex accounts and need a controlled coordination layer. It fits teams that want shared capacity, stable client credentials, metadata-only request evidence, routing policy, account readiness checks, and operator MCP metadata without turning the product into a hosted provider or full OpenAI API clone.
@@ -28,6 +32,10 @@ For local setup, replace `https://pooler.example.com` with `http://localhost:400
28
32
29
33
No. Codex Pooler provides narrow OpenAI-compatible `/v1` support for selected SDK routes, then translates supported work into Codex-compatible requests and routes it through Pool policy. Unsupported `/v1` routes may return deterministic OpenAI-shaped unsupported endpoint errors, and OpenAI Realtime SDK websocket or session routes are not supported.
30
34
35
+
## Is `POST /v1/responses/compact` supported?
36
+
37
+
No. `POST /v1/responses/compact` is routed only to return a deterministic OpenAI-shaped `unsupported_endpoint` error. Backend-compatible compact requests should use `POST /backend-api/codex/responses/compact`, which is part of the Codex backend compatibility route family.
38
+
31
39
## What is the difference between `/backend-api/codex` and `/v1`?
32
40
33
41
`/backend-api/codex` is the Codex backend compatibility route for Codex-compatible clients. `/v1` is a narrow OpenAI-compatible SDK surface for selected routes such as models, responses, chat completions, usage, files, audio transcription, and image generation or edits. Both runtime surfaces use Pool API keys and Pool routing.
@@ -40,6 +48,10 @@ No. Codex Pooler provides narrow OpenAI-compatible `/v1` support for selected SD
40
48
41
49
Codex Pooler request logs, audit logs, docs, and MCP responses must stay metadata-only. Public-safe fields include route family, endpoint path, method, status class, Pool label, upstream label, model, retry count, duration, token count, and timestamp. Raw prompts, completions, payload bodies, file bytes, media bytes, websocket frames, cookies, bearer tokens, Pool API keys, MCP tokens, upstream secrets, and `auth.json` material must not appear.
42
50
51
+
## Does Codex Pooler store prompts, completions, or file bytes?
52
+
53
+
No. Codex Pooler stores metadata for routing, accounting, audit, request logs, file records, and MCP lookup. It must not store raw prompts, completions, request bodies, response bodies, uploaded file bytes, audio bytes, image bytes, websocket frames, bearer tokens, upstream secrets, or raw Pool API keys.
54
+
43
55
## How do I start Codex Pooler locally?
44
56
45
57
Clone the repository, run `scripts/self-host/generate-env.sh`, start the stack with `docker compose up -d`, open `http://localhost:4000`, create the first owner, create a Pool, assign an upstream account, create a Pool API key, and point the first client at `/backend-api/codex` or `/v1`.
@@ -48,6 +60,18 @@ Clone the repository, run `scripts/self-host/generate-env.sh`, start the stack w
48
60
49
61
The public docs cover Docker Compose for a small self-hosted install and Helm for Kubernetes. Compose is the quick local or single-node path. Helm separates app, worker, scheduler, and migration roles, and it includes guidance for secrets, ingress, metrics, and the websocket replica caveat.
50
62
63
+
## Should I choose Docker Compose or Helm?
64
+
65
+
Use Docker Compose for local setup, a lab server, or a small single-node self-hosted install. Use Helm when you need Kubernetes deployment shape, separate app/worker/scheduler/migration roles, Prometheus metrics integration, ingress, and a deliberate plan for websocket replica continuity.
66
+
51
67
## What should operators inspect when routing fails?
52
68
53
69
Operators should check the Pool, Pool API key, upstream assignment, upstream lifecycle state, model support, quota evidence, route-class health, session continuity, and request-log metadata. A routing strategy cannot choose an upstream account that fails hard eligibility checks.
70
+
71
+
## What happens if all upstream accounts fail eligibility?
72
+
73
+
Codex Pooler rejects the request before upstream dispatch when every assigned account fails hard eligibility checks. Common causes are missing Pool access, paused or reauth-required upstreams, no model support, unusable quota evidence, unhealthy route-class circuit state, file affinity conflict, or session continuity pointing at an unavailable assignment.
74
+
75
+
## Is Codex Pooler free or hosted?
76
+
77
+
Codex Pooler has no documented hosted plan, commercial pricing tier, or published release in these docs today. The repository is distributed under Elastic License 2.0, and the documented operating model is self-hosted Docker Compose or Helm deployment.
- /backend-api: Codex backend compatibility route for authenticated Codex clients. Important paths include /backend-api/codex/models, /backend-api/codex/responses, /backend-api/codex/responses/compact, /backend-api/codex/v1/* aliases, /backend-api/files, /backend-api/transcribe, and usage routes such as /backend-api/wham/usage.
41
-
- /v1: narrow OpenAI-compatible /v1 surface for selected SDK routes. Supported examples include /v1/models, /v1/responses, GET /v1/responses for narrow Responses websocket compatibility, /v1/chat/completions, /v1/usage, /v1/files, /v1/audio/transcriptions, /v1/images/generations, and /v1/images/edits.
41
+
- /v1: narrow OpenAI-compatible /v1 surface for selected SDK routes. Supported or translated examples include /v1/models, /v1/responses, GET /v1/responses for narrow Responses websocket compatibility, /v1/chat/completions, /v1/usage, /v1/files metadata and create routes, /v1/audio/transcriptions, /v1/images/generations, and /v1/images/edits.
42
42
- /mcp: root operator MCP endpoint. POST /mcp is metadata-only, read-only Streamable HTTP JSON-RPC. It uses operator-owned MCP bearer tokens, not Pool API keys or browser sessions.
43
43
44
44
Unsupported boundaries:
45
45
- Codex Pooler does not provide full OpenAI API parity.
46
46
- Unsupported /v1 routes may return deterministic OpenAI-shaped unsupported endpoint errors when explicitly routed.
47
-
- Unsupported /v1 examples include /v1/embeddings, /v1/batches, /v1/moderations, /v1/fine_tuning/jobs, /v1/images/variations, response retrieve, response cancel, and response delete routes.
Copy file name to clipboardExpand all lines: docs-site/public/pricing.md
+10-1Lines changed: 10 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Codex Pooler Pricing And Availability
2
2
3
-
Last reviewed: 2026-06-01
3
+
Last reviewed: 2026-06-02
4
4
Canonical docs: https://docs.codex-pooler.com/
5
5
6
6
Codex Pooler has no published hosted plan, commercial pricing page, or public release in these docs today. The documented path is self-hosted operation with Docker Compose or the Helm chart.
@@ -13,6 +13,15 @@ Codex Pooler has no published hosted plan, commercial pricing page, or public re
13
13
- Self-hosted Docker Compose path: documented
14
14
- Self-hosted Kubernetes Helm path: documented
15
15
16
+
## License and hosted use
17
+
18
+
- Repository license: Elastic License 2.0
19
+
- Public hosted plan: none documented
20
+
- Managed-service pricing: none documented
21
+
- Self-hosted software price in these docs: no subscription tier documented
22
+
23
+
Read `LICENSE.md` before redistributing, modifying, or providing managed access to Codex Pooler. These docs describe self-hosted operation and do not publish a hosted or managed-service offer.
24
+
16
25
## Operator cost considerations
17
26
18
27
Codex Pooler documentation does not define subscription tiers or seat pricing. Operators should plan for their own infrastructure costs, database storage, Kubernetes or Docker hosting, monitoring, and any upstream provider account costs they are already authorized to use.
The OpenAI-compatible `/v1` surface supports selected routes only:
87
+
The OpenAI-compatible `/v1` surface supports or translates selected routes only:
88
88
89
89
-`GET /v1/models`
90
90
-`POST /v1/responses`
91
91
-`GET /v1/responses`, narrow Responses websocket compatibility only
92
-
-`POST /v1/responses/compact`
93
92
-`POST /v1/chat/completions`
94
93
-`GET /v1/usage`
95
94
-`GET /v1/files`
96
95
-`POST /v1/files`
97
96
-`GET /v1/files/:file_id`
98
-
-`GET /v1/files/:file_id/content`, deterministic unsupported content read after ownership checks
99
-
-`DELETE /v1/files/:file_id`, deterministic unsupported delete after ownership checks
100
97
-`POST /v1/audio/transcriptions`
101
98
-`POST /v1/images/generations`
102
99
-`POST /v1/images/edits`
103
100
104
101
The `/v1` surface is compatibility over Codex routing, not a separate OpenAI engine. Supported requests still require a Pool API key and a Pool with eligible upstream capacity for the requested model.
105
102
106
-
## Unsupported boundaries
103
+
## Routed but unsupported boundaries
107
104
108
105
These `/v1` routes are unsupported and may return deterministic OpenAI-shaped unsupported endpoint errors when explicitly routed:
109
106
107
+
-`POST /v1/responses/compact`
108
+
-`GET /v1/files/:file_id/content`, after ownership checks
109
+
-`DELETE /v1/files/:file_id`, after ownership checks
110
110
-`POST /v1/images/variations`
111
111
-`POST /v1/embeddings`
112
112
-`POST /v1/batches`
@@ -147,6 +147,10 @@ No. Codex backend-compatible clients should use `/backend-api/codex`. The `/v1`
147
147
148
148
No. `/v1/realtime` and OpenAI Realtime SDK websocket or session routes are unsupported. `GET /v1/responses` is narrow Responses websocket compatibility only, not OpenAI Realtime support.
149
149
150
+
### Does `/v1/responses/compact` work?
151
+
152
+
No. `POST /v1/responses/compact` is routed only so clients receive a deterministic OpenAI-shaped `unsupported_endpoint` error. Codex backend-compatible compact requests should use `POST /backend-api/codex/responses/compact`.
153
+
150
154
### Can I use the same key for `/v1` and `/mcp`?
151
155
152
156
No. `/v1` uses Pool API keys for runtime work. `/mcp` uses operator-owned MCP bearer tokens for metadata-only lookup. Keep those credentials separate in client configuration and storage.
0 commit comments