# `Pristine`
[🔗](https://github.com/nshkrdotcom/pristine/blob/pristine-v0.4.0/lib/pristine.ex#L1)

Shared runtime substrate for first-party OpenAPI-based SDKs.

# `context`

```elixir
@spec context(keyword()) :: Pristine.SDK.Context.t()
```

Build an execution context.

# `execute`

```elixir
@spec execute(Pristine.Client.t(), Pristine.Operation.t(), keyword()) ::
  {:ok, term()} | {:error, term()}
```

Execute a rendered runtime operation against a runtime client.

# `execute_request`

```elixir
@spec execute_request(
  Pristine.SDK.OpenAPI.Client.request_spec_t()
  | Pristine.SDK.OpenAPI.Client.request_t(),
  Pristine.SDK.Context.t(),
  keyword()
) :: {:ok, term()} | {:error, term()}
```

Execute a generic request spec without rebuilding a runtime manifest.

# `foundation_context`

```elixir
@spec foundation_context(keyword()) :: Pristine.SDK.Context.t()
```

Build a Foundation-backed production context.

# `stream`

```elixir
@spec stream(Pristine.Client.t(), Pristine.Operation.t(), keyword()) ::
  {:ok, Pristine.Response.t()} | {:error, term()}
```

Open a streaming request for a rendered runtime operation.

---

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