# Inngest v0.3.0 - Table of Contents

> Elixir SDK for Inngest

## Pages

- [How does it work?](how-it-works.md)
- [Installation](installation.md)
- [SDK Spec Compliance Checklist](sdk-spec-compliance.md)

- References
  - [Configuration](config.md)
  - [Events](events.md)
  - [Handling failures](failure_handler.md)
  - [Function configuration](function_configuration.md)

- Development
  - [Dev server](dev-server.md)
  - [Serving the API](serve-api.md)

- Cloud
  - [How to deploy](deploy.md)
  - [Working with environments](environments.md)
  - [Creating an Event key](event-key.md)
  - [Usage Limits](limits.md)

- Changes
  - [CHANGELOG](changelog.md)

## Modules

- [Inngest](Inngest.md): 
- [Inngest.Error](Inngest.Error.md): A generic Inngest Error.
Used to format errors into a structure that can be parsed by the UI

- [Inngest.HTTPClient.Request](Inngest.HTTPClient.Request.md): SDK-owned outbound HTTP request shape.
- [Inngest.HTTPClient.Response](Inngest.HTTPClient.Response.md): SDK-owned outbound HTTP response shape.

- Client
  - [Inngest.Client](Inngest.Client.md): Module representing an Inngest client (subject to change).

  - [Inngest.HTTPClient](Inngest.HTTPClient.md): Behaviour for outbound HTTP requests made by the SDK.
  - [Inngest.HTTPClient.Finch](Inngest.HTTPClient.Finch.md): Finch-backed HTTP client adapter.

  - [Inngest.HTTPClient.Hackney](Inngest.HTTPClient.Hackney.md): Hackney-backed HTTP client adapter.

  - [Inngest.Middleware](Inngest.Middleware.md): Behaviour for SDK middleware.

- Function
  - [Inngest.Event](Inngest.Event.md): Module representing an Inngest event.
  - [Inngest.FnOpts](Inngest.FnOpts.md): Function configuration options.
  - [Inngest.Function](Inngest.Function.md): Module to be used within user code to setup an Inngest function.
Making it servable and invokable.
  - [Inngest.Function.Context](Inngest.Function.Context.md): Context to be passed to steps in functions.

  - [Inngest.Function.Input](Inngest.Function.Input.md): Input provides the events, and step tools for an Inngest function

  - [Inngest.StepTool](Inngest.StepTool.md): Durable step helpers available as `input.step` inside an Inngest function.
  - [Inngest.Trigger](Inngest.Trigger.md): Struct representing a function trigger.

- Router
  - [Inngest.Router](Inngest.Router.md): Router module for Inngest to be integrated with apps that
have a router.
  - [Inngest.Router.Phoenix](Inngest.Router.Phoenix.md): Router module expected to be used with a `Phoenix` router.
  - [Inngest.Router.Plug](Inngest.Router.Plug.md): Router module expected to be used with a `Plug.Router`.
  - [Inngest.Signature](Inngest.Signature.md): Handles signature related operations

- Helper
  - [Inngest.CacheBodyReader](Inngest.CacheBodyReader.md): A custom Plug parser for caching raw request bodies.

- Exceptions
  - [Inngest.BatchEventConfigError](Inngest.BatchEventConfigError.md): Error indicating there's a misconfiguration when attempting to use `batch_events`.

  - [Inngest.CancelConfigError](Inngest.CancelConfigError.md): Error indicating there's a misconfiguration when attempting to use `cancel_on`.

  - [Inngest.ConcurrencyConfigError](Inngest.ConcurrencyConfigError.md): Error indicating there's a misconfiguration when attempting to use `concurrency`.

  - [Inngest.DebounceConfigError](Inngest.DebounceConfigError.md): Error indicating there's a misconfiguration when attempting to use `debounce`.

  - [Inngest.IdempotencyConfigError](Inngest.IdempotencyConfigError.md): Error indicating there's a misconfiguration when attempting to use `idempotency`.

  - [Inngest.NonRetriableError](Inngest.NonRetriableError.md): Error signaling to not retry

  - [Inngest.PriorityConfigError](Inngest.PriorityConfigError.md): Error indicating there's a misconfiguration when attempting to use `priority`.

  - [Inngest.RateLimitConfigError](Inngest.RateLimitConfigError.md): Error indicating there's a misconfiguration when attempting to use `rate_limit`.

  - [Inngest.RetryAfterError](Inngest.RetryAfterError.md): Error to control how long to wait before attempting a retry
  - [Inngest.SingletonConfigError](Inngest.SingletonConfigError.md): Error indicating there's a misconfiguration when attempting to use `singleton`.

  - [Inngest.StepError](Inngest.StepError.md): Error raised when a memoized step contains a final serialized error.

  - [Inngest.Test.Case.RetriableError.YoloError](Inngest.Test.Case.RetriableError.YoloError.md)
  - [Inngest.ThrottleConfigError](Inngest.ThrottleConfigError.md): Error indicating there's a misconfiguration when attempting to use `throttle`.

  - [Inngest.TimeoutConfigError](Inngest.TimeoutConfigError.md): Error indicating there's a misconfiguration when attempting to use `timeouts`.

