# `Pixir.Provider.ToolCall`
[🔗](https://github.com/Ranvier-Technologies/pixir/blob/main/lib/pixir/provider/tool_call.ex#L1)

Cross-provider validation for Provider-declared finalized tool calls.

A call is executable only after its Provider completion boundary and only when its
identity is bounded and its arguments are a JSON object. Invalid identity values are
never echoed in structured errors.

# `from_json`

```elixir
@spec from_json(term(), term(), term()) :: {:ok, map()} | {:error, map()}
```

Validate a finalized call whose arguments are still encoded JSON.

# `from_map`

```elixir
@spec from_map(term(), term(), term()) :: {:ok, map()} | {:error, map()}
```

Validate a finalized call whose arguments are already decoded.

---

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