# `ReqLLM.Error.Invalid.ProviderFileReference`
[🔗](https://github.com/agentjido/req_llm/blob/main/lib/req_llm/error.ex#L160)

Error for an explicitly owned provider file used outside its lifecycle.

# `t`

```elixir
@type t() :: %ReqLLM.Error.Invalid.ProviderFileReference{
  __exception__: true,
  bread_crumbs: term(),
  class: term(),
  expires_at: String.t() | nil,
  owner: String.t(),
  path: term(),
  provider: String.t(),
  reason: :provider_mismatch | :expired,
  splode: term(),
  stacktrace: term(),
  status: String.t() | nil,
  vars: term()
}
```

Validation error for an explicitly provider-owned file reference.

# `exception`

```elixir
@spec exception(opts :: Keyword.t()) :: %ReqLLM.Error.Invalid.ProviderFileReference{
  __exception__: true,
  bread_crumbs: term(),
  class: term(),
  expires_at: term(),
  owner: term(),
  path: term(),
  provider: term(),
  reason: term(),
  splode: term(),
  stacktrace: term(),
  status: term(),
  vars: term()
}
```

Create an `Elixir.ReqLLM.Error.Invalid.ProviderFileReference` without raising it.

## Keys

- :reason
- :owner
- :provider
- :expires_at
- :status

---

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