> ## Documentation Index
> Fetch the complete documentation index at: https://docs.engagefabric.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Billing & Subscriptions

> Manage EngageFabric billing and subscriptions. View usage, upgrade plans, manage payment methods, and understand tier-based feature access.

EngageFabric offers flexible pricing plans to match your needs, from free experimentation to enterprise-scale deployments.

## Pricing Plans

<CardGroup cols={2}>
  <Card title="Free" icon="gift">
    **\$0/month**

    * 10,000 events/month
    * 500 MAU
    * 2 team members
    * Community support
  </Card>

  <Card title="Starter" icon="rocket">
    \*\*$49/month** ($470/year)

    * 100,000 events/month
    * 5,000 MAU
    * 5 team members
    * Email support
  </Card>

  <Card title="Professional" icon="building">
    \*\*$149/month** ($1,430/year)

    * 500,000 events/month
    * 25,000 MAU
    * 15 team members
    * Custom domains
    * Priority support
  </Card>

  <Card title="Enterprise" icon="building-columns">
    **Custom pricing**

    * Unlimited events
    * Unlimited MAU
    * Unlimited team members
    * SSO (SAML/OIDC)
    * Dedicated support
  </Card>
</CardGroup>

<Note>
  Save **20%** with annual billing on Starter and Professional plans.
</Note>

## Usage Limits

Each plan includes monthly limits for key metrics:

| Metric       | Free   | Starter | Professional | Enterprise |
| ------------ | ------ | ------- | ------------ | ---------- |
| Events       | 10,000 | 100,000 | 500,000      | Unlimited  |
| MAU          | 500    | 5,000   | 25,000       | Unlimited  |
| Team Members | 2      | 5       | 15           | Unlimited  |
| Projects     | 1      | 5       | 20           | Unlimited  |
| API Keys     | 2      | 10      | 50           | Unlimited  |

### What Counts as Usage?

* **Events**: Any tracked event via the Events API or SDK
* **MAU (Monthly Active Users)**: Unique players who had any activity in the billing period
* **Team Members**: Users with access to your admin console

## Managing Your Subscription

### View Current Plan

In the admin console, go to **Settings > Billing** to view:

* Current plan and billing cycle
* Usage meters for events, MAU, and team members
* Next billing date
* Payment method

### Upgrade Your Plan

<Steps>
  <Step title="Go to Billing">
    Navigate to **Settings > Billing** in the admin console.
  </Step>

  <Step title="Click Upgrade">
    Click the **Upgrade Plan** button.
  </Step>

  <Step title="Select Plan">
    Choose your new plan and billing cycle (monthly or annual).
  </Step>

  <Step title="Complete Checkout">
    Enter payment details on our secure checkout page.
  </Step>
</Steps>

Upgrades take effect immediately. You'll be charged a prorated amount for the remainder of your billing period.

### Downgrade Your Plan

Downgrades take effect at the end of your current billing period. Your current limits remain active until then.

<Warning>
  Before downgrading, ensure your usage is within the new plan's limits. If you exceed limits, features may be restricted.
</Warning>

### Cancel Subscription

1. Go to **Settings > Billing**
2. Click **Manage Subscription**
3. Select **Cancel Subscription**
4. Choose to cancel immediately or at period end

Your account reverts to the Free plan after cancellation.

## Billing API

### Get Current Plan

```bash theme={null}
curl -X GET https://api.engagefabric.com/api/v1/billing/plan \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
```

**Response:**

```json theme={null}
{
  "plan": "PROFESSIONAL",
  "billingCycle": "ANNUAL",
  "status": "ACTIVE",
  "currentPeriodStart": "2025-01-01T00:00:00.000Z",
  "currentPeriodEnd": "2026-01-01T00:00:00.000Z",
  "cancelAtPeriodEnd": false
}
```

### Get Usage Summary

```bash theme={null}
curl -X GET https://api.engagefabric.com/api/v1/billing/usage \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
```

**Response:**

```json theme={null}
{
  "period": {
    "start": "2025-12-01T00:00:00.000Z",
    "end": "2025-12-31T23:59:59.999Z"
  },
  "usage": {
    "events": {
      "used": 45230,
      "limit": 500000,
      "percentage": 9
    },
    "mau": {
      "used": 3421,
      "limit": 25000,
      "percentage": 14
    },
    "teamMembers": {
      "used": 8,
      "limit": 15,
      "percentage": 53
    }
  }
}
```

### Get Invoices

```bash theme={null}
curl -X GET https://api.engagefabric.com/api/v1/billing/invoices \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
```

**Response:**

```json theme={null}
{
  "data": [
    {
      "id": "inv_abc123",
      "amount": 14300,
      "currency": "USD",
      "status": "PAID",
      "invoiceUrl": "https://app.lemonsqueezy.com/my-orders/...",
      "paidAt": "2025-01-01T12:00:00.000Z",
      "periodStart": "2025-01-01T00:00:00.000Z",
      "periodEnd": "2026-01-01T00:00:00.000Z"
    }
  ],
  "total": 1
}
```

### Create Checkout Session

For programmatic upgrades:

```bash theme={null}
curl -X POST https://api.engagefabric.com/api/v1/billing/checkout \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "plan": "PROFESSIONAL",
    "billingCycle": "ANNUAL"
  }'
```

**Response:**

```json theme={null}
{
  "checkoutUrl": "https://engagefabric.lemonsqueezy.com/checkout/..."
}
```

Redirect the user to `checkoutUrl` to complete the purchase.

### Access Customer Portal

Users can manage their subscription, update payment methods, and download invoices:

```bash theme={null}
curl -X POST https://api.engagefabric.com/api/v1/billing/portal \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
```

**Response:**

```json theme={null}
{
  "portalUrl": "https://app.lemonsqueezy.com/my-orders/..."
}
```

## Plan Limits Enforcement

When you exceed plan limits:

| Scenario              | Behavior                                                      |
| --------------------- | ------------------------------------------------------------- |
| Events exceed limit   | New events are rejected with `429` status                     |
| MAU exceeds limit     | New players can still be created, but warning emails are sent |
| Team members at limit | New invitations are blocked                                   |

<Warning>
  Exceeding limits may result in service degradation. Monitor your usage in the admin console and upgrade before hitting limits.
</Warning>

## Webhooks for Billing Events

Subscribe to billing events to automate workflows:

| Event                    | Description               |
| ------------------------ | ------------------------- |
| `subscription.created`   | New subscription started  |
| `subscription.updated`   | Plan or status changed    |
| `subscription.cancelled` | Subscription cancelled    |
| `invoice.paid`           | Invoice successfully paid |
| `invoice.failed`         | Payment failed            |

See [Webhooks](/api-reference/webhooks) for setup instructions.

## Payment Processing

We use [Lemon Squeezy](https://lemonsqueezy.com) as our payment processor:

* **Secure checkout**: PCI-compliant payment processing
* **Global payments**: Accept payments from 135+ countries
* **Automatic taxes**: VAT, GST, and sales tax handled automatically
* **Multiple currencies**: Pay in your local currency

### Accepted Payment Methods

* Credit/debit cards (Visa, Mastercard, American Express)
* PayPal
* Apple Pay
* Google Pay

## FAQ

<AccordionGroup>
  <Accordion title="What happens if I exceed my event limit?">
    Events beyond your limit are rejected with HTTP 429 (Too Many Requests). Your dashboard shows a warning when you reach 80% of your limit. Consider upgrading before hitting the limit to avoid disruption.
  </Accordion>

  <Accordion title="Can I change plans mid-cycle?">
    Yes! Upgrades take effect immediately with prorated billing. Downgrades take effect at the end of your billing period.
  </Accordion>

  <Accordion title="Is there a free trial?">
    The Free plan is available indefinitely with no credit card required. For paid plans, we offer a 14-day money-back guarantee if you're not satisfied.
  </Accordion>

  <Accordion title="How do I get Enterprise pricing?">
    Contact our sales team at [sales@engagefabric.com](mailto:sales@engagefabric.com) for custom pricing based on your needs.
  </Accordion>

  <Accordion title="What payment methods do you accept?">
    We accept all major credit cards, PayPal, Apple Pay, and Google Pay through our payment processor, Lemon Squeezy.
  </Accordion>
</AccordionGroup>

## API Reference

| Method | Endpoint               | Description              |
| ------ | ---------------------- | ------------------------ |
| GET    | `/v1/billing/plan`     | Get current plan details |
| GET    | `/v1/billing/usage`    | Get usage summary        |
| GET    | `/v1/billing/invoices` | List invoices            |
| POST   | `/v1/billing/checkout` | Create checkout session  |
| POST   | `/v1/billing/portal`   | Get customer portal URL  |

***

## Related

<CardGroup cols={2}>
  <Card title="Pricing Page" icon="tag" href="https://engagefabric.com/pricing">
    Compare plans and features
  </Card>

  <Card title="Team Management" icon="users" href="/guides/team-management">
    Manage team members within your plan limits
  </Card>
</CardGroup>
