Welcome to Alphayellowish
Production GPT-5.5 and Codex CLI access for engineering teams. Drop-in OpenAI-compatible. Per-employee keys with real-time usage dashboards.
This documentation covers everything you need: tool setup, API reference, dashboard guide, troubleshooting, and FAQs. Most engineers are running their first call within a minute.
How it works
Alphayellowish exposes an OpenAI-compatible API at https://app.alphayellowish.com/v1. Any tool that supports a custom OpenAI base URL — Codex CLI, VS Code, Cursor, Claude Code CLI, Aider, and dozens more — works without code changes. Swap one URL, paste your key, ship.
What you get
- 1Real OpenAI models — no silent substitution
- 2Per-employee API keys you can rotate or revoke anytime
- 3A live usage dashboard with the 5-hour window visible
- 4Hard budget caps at the gateway — no surprise overages
- 5Monthly billing in INR with GST invoices
Where to next
If you have an API key in hand, head to the Quickstart for a 60-second setup. For a specific editor or CLI, jump straight to Setup by Tool in the sidebar.
Quickstart
One command. Interactive wizard. You're live in 60 seconds.
Run the install script. It detects your shell, installs the CLI, writes the config, and verifies your key — all in one go.
macOS · Linux
curl -fsSL https://app.alphayellowish.com/setup.sh | bash
Windows (PowerShell)
irm https://app.alphayellowish.com/setup.ps1 | iex
What the wizard does
- 1Asks for your API key (paste from your welcome email)
- 2Lets you pick Codex CLI, Claude Code CLI, or both
- 3Installs the chosen CLIs via npm
- 4Writes
~/.codex/config.toml+ env vars to your shell rc - 5Verifies your key with a real API call before exiting
Try it
codex "write a python function that reverses a string"
Prefer manual setup?
If you'd rather not pipe a script, the Codex CLI setup page has the manual config you can copy-paste.
Codex CLI
OpenAI's official terminal client. The recommended way to use Alphayellowish.
If you followed the Quickstart, you're already done. If you want to install manually:
npm install -g @openai/codex
Claude Code CLI
Anthropic's terminal tool, pointed at Alphayellowish for GPT-5.5 access.
If you prefer Claude Code's interface but want OpenAI's GPT-5.5 as the model, you can point Claude Code CLI at our endpoint.
npm install -g @anthropic-ai/claude-code export ANTHROPIC_BASE_URL="https://app.alphayellowish.com" export ANTHROPIC_API_KEY="sk-your-key-here" export ANTHROPIC_MODEL="gpt-5.5" claude
Add the three export lines to your ~/.zshrc to make them permanent.
VS Code
Two ways: the Codex extension or direct settings.json.
Option A — Codex extension
Steps
- 1Install the Codex extension from the VS Code marketplace
- 2Open Settings, search "Codex"
- 3Set Base URL to
https://app.alphayellowish.com/v1 - 4Paste your
sk-…key in API Key - 5Set Model to
gpt-5.5 - 6Restart VS Code
Option B — settings.json
{
"codex.baseUrl": "https://app.alphayellowish.com/v1",
"codex.apiKey": "sk-your-key-here",
"codex.model": "gpt-5.5"
}
Cursor
Override Cursor's OpenAI base URL in its model settings.
Steps
- 1Press
Cmd+,to open Settings - 2Go to the Models tab
- 3Paste your
sk-…key in OpenAI API Key - 4Click Override OpenAI Base URL and enter
https://app.alphayellowish.com/v1 - 5Click Verify — should turn green
- 6Under Model Names, add
gpt-5.5andgpt-5.3-codex
Windsurf
Configure the OpenAI Compatible Provider in advanced settings.
Steps
- 1Open Windsurf → Settings → Advanced Settings
- 2Enable OpenAI Compatible Provider
- 3Base URL:
https://app.alphayellowish.com/v1 - 4API Key: your
sk-… - 5Model:
gpt-5.5 - 6Save and restart Windsurf
Cline / Roo Code
Both extensions share the same configuration pattern.
Steps
- 1Open the Cline or Roo Code panel in VS Code
- 2Click the gear icon → API Provider → OpenAI Compatible
- 3Base URL:
https://app.alphayellowish.com/v1 - 4API Key: your
sk-… - 5Model ID:
gpt-5.5 - 6Save
Continue.dev
Edit your ~/.continue/config.yaml to add Alphayellowish as a model.
models:
- name: GPT-5.5 (Alphayellowish)
provider: openai
model: gpt-5.5
apiBase: https://app.alphayellowish.com/v1
apiKey: sk-your-key-here
Aider
Aider works with any OpenAI-compatible endpoint via environment variables.
export OPENAI_API_BASE="https://app.alphayellowish.com/v1" export OPENAI_API_KEY="sk-your-key-here" aider --model gpt-5.5
Add the two export lines to ~/.zshrc or ~/.bashrc for persistence.
Any OpenAI-compatible client
If your tool supports a custom OpenAI base URL, it works with us. Use these three values:
| Base URL | https://app.alphayellowish.com/v1 |
| API Key | Your sk-… key |
| Model | gpt-5.5 or gpt-5.3-codex |
Tested working with
LibreChat, OpenWebUI, ChatBox, NextChat, BetterChatGPT, Lobe Chat, BoltAI, TypingMind, Simon Willison's llm CLI, n8n OpenAI nodes, and Zapier OpenAI integrations.
If your tool needs anything beyond these three values, reply to your welcome email and we'll help.
Reading your usage
Visit app.alphayellowish.com/dashboard, paste your key, bookmark the page.
The dashboard shows what your plan allows, what you've used, and what's left — refreshed every 30 seconds.
What you'll see
- Tokens used in the current 5-hour window — your burst-rate consumption
- Time until reset — when the oldest tokens roll off and free up cap
- Today's request count — how active you've been
- Hourly breakdown — usage curves over the last 24 hours
- Cached vs fresh tokens — how much you've saved via prompt caching
The 5-hour rolling window
Every plan caps usage in 5-hour rolling windows — the same pattern used by OpenAI Codex Pro and Anthropic Claude Max.
The window slides continuously. If you used 200K tokens 3 hours ago and 100K tokens 30 minutes ago, both count toward your current ceiling. Older usage rolls off automatically as time passes.
Why a rolling window?
Real engineering work is bursty — you might code intensely for 2 hours, then idle for 6. A daily cap punishes the burst-then-rest pattern. A 5-hour rolling window rewards it: heavy use followed by a break gives you cap back faster than a fixed-day reset.
Hitting the cap
If you exceed the 5h window, the next request returns HTTP 429 with a clear "resets in X minutes" message. The Retry-After header tells you exactly when to retry. No surprise overage charges.
Authentication
OpenAI-compatible REST API. Drop-in for any OpenAI SDK.
| Base URL | https://app.alphayellowish.com/v1 |
| Auth header | Authorization: Bearer sk-… |
| Content-Type | application/json |
| TLS | Required (HTTPS only) |
POST /v1/chat/completions
The primary endpoint. Returns a model response for a given chat conversation.
Request
curl https://app.alphayellowish.com/v1/chat/completions \
-H "Authorization: Bearer sk-your-key" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.5",
"messages": [
{"role": "user", "content": "Write hello world in Rust"}
],
"max_tokens": 200
}'
Response
{
"id": "resp_0b234…",
"object": "chat.completion",
"model": "gpt-5.5",
"choices": [{
"index": 0,
"finish_reason": "stop",
"message": {
"role": "assistant",
"content": "fn main() {\n println!(\"Hello, world!\");\n}"
}
}],
"usage": {
"prompt_tokens": 47,
"completion_tokens": 22,
"total_tokens": 69
}
}
Streaming responses
Add "stream": true to receive Server-Sent Events.
The smart proxy correctly tees streaming chunks AND records final token usage on stream end — your quota counter stays accurate.
from openai import OpenAI
client = OpenAI(
base_url="https://app.alphayellowish.com/v1",
api_key="sk-your-key",
)
stream = client.chat.completions.create(
model="gpt-5.5",
messages=[{"role": "user", "content": "Tell me a joke"}],
stream=True,
)
for chunk in stream:
print(chunk.choices[0].delta.content or "", end="")
Rate limits
Every response includes headers so your client can self-pace.
| Header | Meaning |
|---|---|
X-RateLimit-Limit | Your 5h token cap |
X-RateLimit-Remaining | Tokens left in current window |
X-RateLimit-Reset | Seconds until oldest window record rolls off |
Retry-After | (429 only) Seconds to wait before retry |
429 response
Returned when you've exceeded the 5h window cap.
HTTP/1.1 429 Too Many Requests
Retry-After: 14512
X-RateLimit-Limit: 1000000
X-RateLimit-Remaining: 0
Content-Type: application/json
{"error":{"message":"5h token quota exceeded","type":"rate_limit","code":"429"}}
Available models
Two production models, both routed to real OpenAI infrastructure.
| Model | Best for |
|---|---|
gpt-5.5 | General coding, reasoning, refactoring, code review, long-form writing |
gpt-5.3-codex | Pure code completion, lower latency, agent-style multi-step coding |
Both support streaming, system messages, multi-turn conversations, and JSON mode. We do not silently swap models — what you request is what you get.
401 Unauthorized
Three causes, in order of likelihood:
Check these in order
- 1Typo in the key — keys are 24+ alphanumeric characters. Re-copy from the original email.
- 2Key expired — check your welcome email for the expiry date; paid keys run to the end of the paid month.
- 3Header format — must be exactly
Authorization: Bearer sk-…with theBearerprefix and a space.
429 Too Many Requests
You've hit your 5-hour window cap.
The Retry-After response header tells you seconds to wait — divide by 60 for minutes.
The cap resets gradually, not all at once. Your oldest tokens roll off the rolling window first. If you used 900K tokens 4.5 hours ago and 100K tokens 30 minutes ago, the 900K rolls off in ~30 minutes, freeing up most of your cap.
If you're hitting 429 frequently, you may need a higher tier. Reply to your account email and we'll suggest the right plan based on your dashboard's burn rate.
Model not found
You requested a model name not in your plan's allowlist.
The two supported models are gpt-5.5 and gpt-5.3-codex. We do not support Claude, Gemini, or older OpenAI models.
If you're using Codex CLI and seeing this error, check that wire_api = "responses" is set in ~/.codex/config.toml (older Codex CLI versions used "chat_completions" — newer versions only accept "responses").
Quota burning faster than expected
Most often this is prompt-cache misses on long-running sessions.
If your tokens are draining faster than expected, the usual cause is your CLI restarting the conversation cache. Check your dashboard — if "cached vs fresh tokens" shows mostly fresh, you're losing the cache benefit. Restart a fresh session, keep prompts small, and avoid switching models mid-conversation.
If that doesn't help, email us with your dashboard screenshot — we'll diagnose.
Verify your setup
One copy-paste command that tells you exactly what's working or what's broken.
KEY="sk-your-key-here"
CODE=$(curl -sS -o /dev/null -w "%{http_code}" \
https://app.alphayellowish.com/v1/chat/completions \
-H "Authorization: Bearer $KEY" \
-H "Content-Type: application/json" \
-d '{"model":"gpt-5.5","messages":[{"role":"user","content":"pong"}],"max_tokens":3}')
case "$CODE" in
200) echo "Setup works." ;;
401) echo "Invalid key. Re-copy from your email." ;;
429) echo "Quota exceeded. Wait for 5h window to reset." ;;
404) echo "Model not in plan. Use gpt-5.5 or gpt-5.3-codex." ;;
*) echo "HTTP $CODE — email us with this output." ;;
esac
Frequently asked questions
Is this real OpenAI or a swapped model?
Real OpenAI. Every request routes to GPT-5.5 or gpt-5.3-codex on OpenAI infrastructure. We never silently substitute models.
Do you log my prompts?
No. Only token counts are recorded for quota enforcement. Prompts and responses stream through and are not persisted.
Can I cancel anytime?
Yes. Monthly billing, no lock-in. Your key stays active till the end of your paid month after cancellation.
What if I exceed my cap mid-task?
The in-flight request completes normally. The NEXT request returns 429 with a clear "retry-in" message. No surprise charges, no truncated responses.
How do I add team members?
Each member gets their own key with their own dashboard. Email us with employee emails plus which tier each.
Invoicing in INR?
Yes. Invoices in INR by an India-registered LLP with GSTIN — suitable for input-tax-credit claims.
What if OpenAI changes model names?
Our identifiers (gpt-5.5, gpt-5.3-codex) stay stable. If OpenAI deprecates a model, we map you to the closest replacement and notify you.
Plans
Two tiers, all with honest caps. Real numbers, verifiable in your dashboard.
Pro · 5×
Real solo-dev workload — 3-5 hours of heavy coding daily, every day of the month.
| 5h burst cap | 2,500,000 tokens |
| Monthly | ~16M tokens |
| Validity | 30 days |
| Billing | INR · with GST invoice |
Team · 20×
Full-time engineer pace — sustained 6-8 hours of heavy use daily. Matches OpenAI Codex Pro 20× and Anthropic Claude Max 20× caps.
| 5h burst cap | 10,000,000 tokens |
| Monthly | ~40-66M tokens |
| Validity | 30 days |
| Billing | INR · with GST invoice |