---
title: "End Trial"
method: POST
path: "/api/billing/end-trial"
---

# End Trial

`POST /api/billing/end-trial`

## Request

- Base URL: `https://api.openshorts.app` (the document declares no server; this is the origin it was published from)
- URL: `https://api.openshorts.app/api/billing/end-trial`
- Auth: none declared

End the free trial immediately: charge the card now and unlock full plan
minutes. Kept for grandfathered trialing subscriptions — removable once
``SELECT count(*) FROM subscriptions WHERE status='trialing'`` reaches 0.
Used when a trialing user hits the trial minute cap and chooses to
activate their plan right away. The subscription webhook flips status→active
(and thus the full ``minutes_per_period`` allowance) once Stripe confirms.

## Response `200`

Successful Response

- unknown

---

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