# ash_billing v0.1.3 - API Reference

## Modules

- Core
  - [AshBilling](AshBilling.md): Top-level API for `AshBilling`.
  - [AshBilling.Deduplication](AshBilling.Deduplication.md): Deduplication engine for billing webhook events.
  - [AshBilling.Plug](AshBilling.Plug.md): A Plug for receiving and verifying incoming webhooks from billing providers.
  - [AshBilling.Provider](AshBilling.Provider.md): Defines the behavior for billing providers (Stripe, Paddle, LemonSqueezy, etc.).

  - [AshBilling.WebhookSync](AshBilling.WebhookSync.md): Synchronizes incoming billing webhook events with Ash resources.

- Policy Checks
  - [AshBilling.Checks.HasPrice](AshBilling.Checks.HasPrice.md): An Ash policy check that authorizes if the current actor has an active subscription to a specific price.
  - [AshBilling.Checks.Subscribed](AshBilling.Checks.Subscribed.md): An Ash policy check that authorizes if the current actor has an active billing subscription.

- Providers
  - [AshBilling.Providers.Stripe](AshBilling.Providers.Stripe.md): Stripe implementation of `AshBilling.Provider`.

- DSL &amp; Extensions
  - [AshBilling.Resource](AshBilling.Resource.md): A Spark DSL extension for Ash resources representing billing customers (e.g., `User` or `Organization`).
  - [AshBilling.Resource.Info](AshBilling.Resource.Info.md): Introspection helpers for resources using `AshBilling.Resource`.

  - [AshBilling.Subscription](AshBilling.Subscription.md): A Spark DSL extension for Ash resources storing subscriptions in the database.
  - [AshBilling.Subscription.Info](AshBilling.Subscription.Info.md): Introspection helpers for resources using `AshBilling.Subscription`.

  - [AshBilling.WebhookEvent](AshBilling.WebhookEvent.md): A Spark DSL extension for Ash resources representing processed webhook events.

## Mix Tasks

- Mix Tasks
  - [mix ash_billing.install](Mix.Tasks.AshBilling.Install.md): Installs AshBilling into a project. Should be called with `mix igniter.install ash_billing`

