# `Squidie.Step.HTTP`
[🔗](https://github.com/dark-trench/squidie/blob/main/lib/squidie/step/http.ex#L1)

Native HTTP action for runtime-authored workflow specs.

Hosts expose this module through their action registry under stable action
keys. The step validates request configuration, keeps credentials as
host-owned references, delegates transport to `Squidie.Tools.HTTP`, and
returns structured workflow output or errors.

# `validate_action_input`

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

Validates planned HTTP action input with host-owned action options.

# `validate_request`

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

Validates HTTP action request configuration without performing network I/O.

# `validate_request`

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

Validates HTTP action request configuration with host policy options.

Supported options:

  * `:allowed_hosts` - list of hostnames the request URL may target.

---

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