TL;DR: Call GET YOUR_HOST.groq.com/openai/v1/models with your key and use the returned IDs; note the /openai/v1 path segment, calling /v1/models will 404. Official docs (Supported Models): documents that the live model catalog is served from GET YOUR_HOST.groq.com/openai/v1/models, an OpenAI-compatible path that needs an your auth header header.

## Fix
1. Call GET YOUR_HOST.groq.com/openai/v1/models with your key and use the returned IDs; note the /openai/v1 path segment, calling /v1/models will 404.
   Expected: the request routes instead of erroring.
2. Check the response before each deploy or on a schedule, because Groq deprecates models aggressively and old IDs start erroring after shutdown dates.
   Expected: the value or setting is exactly right, nothing ambiguous.

## Details
Official docs (Supported Models): documents that the live model catalog is served from GET YOUR_HOST.groq.com/openai/v1/models, an OpenAI-compatible path that needs an your auth header header. The docs' own quickstart examples still show retired model IDs, so hardcoding model strings from tutorials is fragile. ## What to do Never hardcode a Groq model ID from a tutorial or an old codebase. In code, keep a small allowlist map from role (cheap, smart, audio) to current model ID, and fail loudly with the live catalog printed when a configured ID isn't in it. That turns a silent 400 at 2am into a one-line config fix.

## When to use
You hit exactly this: Groq: list live models via the OpenAI-compatible endpoint, don't hardcode IDs in Groq.

## When not to use
A different error, or the same symptom in a different tool. This page only covers the failure above.

## Compatibility
Groq (versions mentioned here: v1).