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

`POST /messages` — anthropic-format messages api.

request shape mirrors anthropic's: `model`, `messages`, `max_tokens`,
`system`, `tools`, `thinking`, etc.

streaming events come back as `{event_name, decoded_json}` tuples
(e.g. `{"content_block_delta", %{...}}`). pass `raw: true` to receive
raw `%SSE.Event{}` instead.

# `create`

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

# `create_stream`

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

---

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