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

# GET Current subscription

> Return the current subscription, portal usage, and current period.

## Endpoint

```txt theme={null}
GET /api/v1/billing/subscription
```

## Success response `200`

```json theme={null}
{
  "data": {
    "subscription": {
      "plan": {
        "code": "free",
        "limits": {
          "maxInstances": 1
        },
        "features": {
          "campaigns": false
        }
      },
      "scheduledPlan": null,
      "scheduledPlanAt": null,
      "scheduledAction": null
    },
    "usage": {
      "messagesCount": 0,
      "statusesCount": 0,
      "effectiveOutboundUsage": 0,
      "apiRequestsCount": 0,
      "activeInstancesCount": 1,
      "activeApiKeysCount": 1
    },
    "period": {
      "start": "2026-04-01T00:00:00.000Z",
      "end": "2026-04-30T23:59:59.999Z"
    }
  }
}
```

<Note>
  The Free plan now exposes `maxApiKeys: 1` under `subscription.plan.limits`.
</Note>

## Workspace rules

This endpoint reflects the **personal account** of the key owner. It requires a **personal API key** (`msgf_live_…`). A **team API key** is rejected with `403` and code [`TEAM_KEY_NOT_ALLOWED`](/resources/error-codes#teams-workspaces). For team-aware billing data in the console, use `GET /api/billing/subscription` with `Authorization: Bearer <jwt>` and the optional `X-Team-Id` header. See [Team context](/api-reference/teams/team-context).
