# `Gemini.Types.Interactions.Interaction`
[🔗](https://github.com/nshkrdotcom/gemini_ex/blob/v0.11.0/lib/gemini/types/interactions/interaction.ex#L1)

Interactions `Interaction` resource.

JSON keys are snake_case, matching the Python SDK and Interactions API.

# `status`
[🔗](https://github.com/nshkrdotcom/gemini_ex/blob/v0.11.0/lib/gemini/types/interactions/interaction.ex#L14)

```elixir
@type status() :: String.t()
```

# `t`
[🔗](https://github.com/nshkrdotcom/gemini_ex/blob/v0.11.0/lib/gemini/types/interactions/interaction.ex#L17)

```elixir
@type t() :: %Gemini.Types.Interactions.Interaction{
  agent: String.t() | nil,
  created: DateTime.t() | nil,
  id: String.t(),
  model: String.t() | nil,
  outputs: [Gemini.Types.Interactions.Content.t()] | nil,
  previous_interaction_id: String.t() | nil,
  role: String.t() | nil,
  status: status(),
  updated: DateTime.t() | nil,
  usage: Gemini.Types.Interactions.Usage.t() | nil
}
```

# `from_api`
[🔗](https://github.com/nshkrdotcom/gemini_ex/blob/v0.11.0/lib/gemini/types/interactions/interaction.ex#L31)

```elixir
@spec from_api(map() | nil) :: t() | nil
```

# `to_api`
[🔗](https://github.com/nshkrdotcom/gemini_ex/blob/v0.11.0/lib/gemini/types/interactions/interaction.ex#L50)

```elixir
@spec to_api(t() | map() | nil) :: map() | nil
```

---

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