# OpenRouter SDK v0.1.0 - Table of Contents

Elixir SDK for the OpenRouter API: chat, anthropic messages, embeddings, speech, transcription, OAuth PKCE, and a versioned model/provider catalog.

## Pages

- [openrouter_sdk](readme.md)

## Modules

- [OpenrouterSdk](OpenrouterSdk.md): thin facade for the most common operations.
- [OpenrouterSdk.Api.Chat](OpenrouterSdk.Api.Chat.md): `POST /chat/completions` — openai-compatible chat.
- [OpenrouterSdk.Api.Embeddings](OpenrouterSdk.Api.Embeddings.md): `POST /embeddings` — convert text (or multimodal content) to vectors.
- [OpenrouterSdk.Api.Messages](OpenrouterSdk.Api.Messages.md): `POST /messages` — anthropic-format messages api.
- [OpenrouterSdk.Api.Models](OpenrouterSdk.Api.Models.md): `GET /models` — live model catalog.
- [OpenrouterSdk.Api.Speech](OpenrouterSdk.Api.Speech.md): `POST /audio/speech` — text-to-speech.
- [OpenrouterSdk.Api.Transcription](OpenrouterSdk.Api.Transcription.md): `POST /audio/transcriptions` — speech-to-text.
- [OpenrouterSdk.Application](OpenrouterSdk.Application.md): optional supervisor.
- [OpenrouterSdk.Auth](OpenrouterSdk.Auth.md): build the headers that authenticate a request.
- [OpenrouterSdk.Catalog.Models](OpenrouterSdk.Catalog.Models.md): hard-coded snapshot of `/api/v1/models`.
- [OpenrouterSdk.Catalog.Providers](OpenrouterSdk.Catalog.Providers.md): hard-coded snapshot of `/api/v1/providers` — see
`OpenrouterSdk.Catalog.Models` for how the snapshot is managed.

- [OpenrouterSdk.Client](OpenrouterSdk.Client.md): finch wrapper. two paths
- [OpenrouterSdk.Client.Request](OpenrouterSdk.Client.Request.md): internal request representation.
- [OpenrouterSdk.Config](OpenrouterSdk.Config.md): immutable configuration for the sdk.
- [OpenrouterSdk.Error](OpenrouterSdk.Error.md): uniform error struct returned by every public api function.
- [OpenrouterSdk.JSON](OpenrouterSdk.JSON.md): thin shim around json encode/decode.
- [OpenrouterSdk.Middleware](OpenrouterSdk.Middleware.md): extension hook for upstream consumers.
- [OpenrouterSdk.OAuth](OpenrouterSdk.OAuth.md): oauth pkce primitives.
- [OpenrouterSdk.SSE](OpenrouterSdk.SSE.md): incremental server-sent-events parser.
- [OpenrouterSdk.SSE.Event](OpenrouterSdk.SSE.Event.md): a single completed sse event (post-dispatch)
- [OpenrouterSdk.Streaming](OpenrouterSdk.Streaming.md): shared sink semantics for `*_stream` apis.
- [OpenrouterSdk.Telemetry](OpenrouterSdk.Telemetry.md): thin wrapper around `:telemetry.span/3`.

## Mix Tasks

- [mix openrouter.snapshot](Mix.Tasks.Openrouter.Snapshot.md): fetches `/api/v1/models` and `/api/v1/providers` from openrouter and
writes them into `priv/openrouter/`. designed for ci to call on a
schedule and auto-open a pr when drift exists.

