# `OpenrouterSdk.Api.Chat`
[🔗](https://github.com/zmzlois/openrouter_sdk/blob/v0.1.0/lib/openrouter_sdk/api/chat.ex#L1)

`POST /chat/completions` — openai-compatible chat.

buffered:

    OpenrouterSdk.Api.Chat.completions(%{
      model: "openai/gpt-4o-mini",
      messages: [%{role: "user", content: "hello"}]
    })

streaming:

    {:ok, stream} = OpenrouterSdk.Api.Chat.completions_stream(%{
      model: "openai/gpt-4o-mini",
      messages: [%{role: "user", content: "hello"}]
    })

    Enum.each(stream, &IO.inspect/1)

# `completions`

```elixir
@spec completions(
  map(),
  keyword()
) :: {:ok, map()} | {:error, OpenrouterSdk.Error.t()}
```

# `completions_stream`

```elixir
@spec completions_stream(
  map(),
  keyword()
) ::
  {:ok, Enumerable.t() | reference() | term()}
  | {:error, OpenrouterSdk.Error.t()}
```

---

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