# `Incant.Web.API.ActionRunRequest`
[🔗](https://github.com/elixir-vibe/incant/blob/v0.1.1/lib/incant/web/api/action_run_request.ex#L1)

Typed request contract for running Incant actions over the standalone HTTP API.

Carries the decoded action payload plus caller context. Library/embedded
consumers do not interact with this module.

# `t`

```elixir
@type t() :: %Incant.Web.API.ActionRunRequest{
  context: map(),
  payload: Incant.Web.API.ActionPayload.t()
}
```

# `cast`

```elixir
@spec cast(map()) :: {:ok, t()} | {:error, {:invalid_request, Exception.t()}}
```

# `cast_payload`

# `decode`

Decodes a JSON string into this struct.

# `decode!`

Decodes a JSON string into this struct, raising on failure.

# `dump`

Dumps this struct into JSON-shaped data, respecting JSON field names.

# `from_map`

Builds this struct from a decoded JSON map.

# `from_map!`

Builds this struct from a decoded JSON map, raising on failure.

# `json_schema`

Returns a JSON Schema-compatible schema map.

# `schema`

Returns a JSON Schema-compatible schema map.

# `to_map`

Converts this struct into a JSON-shaped map.

---

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