# `ReqLLM.Providers.OpenAICodex`
[🔗](https://github.com/agentjido/req_llm/blob/main/lib/req_llm/providers/openai_codex.ex#L1)

OpenAI Codex provider backed by the ChatGPT Codex responses endpoint.

Uses OAuth credentials against `https://chatgpt.com/backend-api/codex/responses`
and reuses the standard OpenAI Responses API encoding/decoding where possible.

# `account_id_from_token`

# `attach`

Default implementation of attach/3.

Sets up Bearer token authentication and standard pipeline steps.

# `attach_stream`

Default implementation of attach_stream/4.

Builds complete streaming requests using OpenAI-compatible format.

# `attach_websocket_stream`

# `base_url`

# `build_body`

Default implementation of build_body/1.

Builds request body using OpenAI-compatible format for chat and embedding operations.

# `decode_response`

Default implementation of decode_response/1.

Handles success/error responses with standard ReqLLM.Response creation.

# `decode_stream_event`

Default implementation of decode_stream_event/2.

Decodes SSE events using OpenAI-compatible format.

# `default_base_url`

# `encode_body`

Default implementation of encode_body/1.

Encodes request body using OpenAI-compatible format for chat and embedding operations.

# `extract_usage`

Default implementation of extract_usage/2.

Extracts usage data from standard `usage` field in response body.

# `prepare_request`

Default implementation of prepare_request/4.

Handles :chat, :object, and :embedding operations using OpenAI-compatible patterns.

# `provider_extended_generation_schema`

# `provider_id`

# `provider_schema`

# `should_retry?`

# `start_responses_session`

# `supported_provider_options`

# `translate_options`

Default implementation of translate_options/3.

Pass-through implementation that returns options unchanged.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
