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

# trial_ended

> Trial ended — choose a paid plan to continue

|                    |                        |
| ------------------ | ---------------------- |
| **HTTP status**    | `402 Payment Required` |
| **Error code**     | `trial_ended`          |
| **Resolve action** | `select_plan`          |

## What happened

The organization was on a comp/trial (parked on the internally-managed
enterprise plan) and an administrator ended the trial. Product and data-plane
access — API keys, MCP, and Radar — is blocked until the organization converts
to a paid plan.

The enterprise subscription is intentionally still live, so this is **not** the
same as `no_active_plan`: the organization has an active plan, but access is
held until a paid plan is chosen. Choosing a paid plan is therefore a plan
**change** (`PUT`), not an initial selection (`POST`).

## How to fix

<Steps>
  <Step title="List available plans">
    ```bash theme={"dark"}
    curl https://api.particle.pro/v1/billing/plans \
      -H "Authorization: Bearer YOUR_JWT_TOKEN"
    ```
  </Step>

  <Step title="Change to a paid plan">
    ```bash theme={"dark"}
    curl -X PUT https://api.particle.pro/v1/organizations/{orgId}/billing/subscription \
      -H "Authorization: Bearer YOUR_JWT_TOKEN" \
      -H "Content-Type: application/json" \
      -d '{"plan_id": "PLAN_ID_FROM_STEP_1"}'
    ```

    A payment method must be on file first. Requires the **OWNER** role.
  </Step>
</Steps>
