---
title: "Start the one-time Enterprise trial (OWNER only)"
method: POST
path: "/billing/trial/claim"
tags: ["billing"]
---

# Start the one-time Enterprise trial (OWNER only)

`POST /billing/trial/claim`

## Request

- Base URL: `https://api.onplana.com/api`
- URL: `https://api.onplana.com/api/billing/trial/claim`
- Auth: one of:
  - HTTP bearer
  - API key in header `Authorization`

Starts a 14-day Enterprise trial on a qualifying FREE workspace. No card, nothing to cancel: the workspace returns to Free by itself when the window closes, and everything created during the trial is kept.

One per workspace, ever. Eligibility is re-checked server-side rather than trusted from the caller, because a client verdict can be minutes stale.

During the trial the workspace bills as FREE and its Enterprise FEATURES unlock, but numeric resource caps stay at PRO levels rather than becoming unlimited. That is deliberate: a downgrade preserves whatever a workspace already holds, so an unclamped cap would let 14 days buy permanent unlimited seats and projects on Free.

## Headers

- `X-Organization-Id` string, required

## Response `200`

Trial started; returns the new plan and the trial end date

## Other responses

- `400`: Validation error
- `401`: Unauthorized - missing or invalid JWT
- `403`: Forbidden - insufficient role
- `404`: Organization not found
- `409`: Not eligible, or a concurrent claim won the race. `code` is TRIAL_NOT_ELIGIBLE and `reason` names the predicate that failed.

---

[API](https://skmtc.dev/onplana/apis/onplana-api.md) · [All operations](https://skmtc.dev/onplana/apis/onplana-api/llms.txt) · [OpenAPI document](https://skmtc.dev/onplana/apis/onplana-api/revisions/c3d6c89e9dc8?raw)
