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

# Trial API

> Check free trial status for the authenticated user

# Trial API

Check the free trial status for the authenticated user. New accounts receive a 7-day free trial automatically on sign-up.

## Get trial status

```http theme={"dark"}
GET /api/trial
```

Returns the current trial state for the authenticated user. When no session is present, returns `{ trial: false }` without an error.

### Response (active trial)

When the user has an active trial that has not expired:

```json theme={"dark"}
{
  "trial": true,
  "expired": false,
  "daysLeft": 5,
  "endsAt": "2026-04-09T01:24:53.000Z"
}
```

| Field      | Type    | Description                                         |
| ---------- | ------- | --------------------------------------------------- |
| `trial`    | boolean | Whether the user is on a trial                      |
| `expired`  | boolean | Whether the trial period has ended                  |
| `daysLeft` | number  | Number of days remaining in the trial (minimum `0`) |
| `endsAt`   | string  | ISO 8601 timestamp of when the trial ends           |

### Response (expired trial)

When the trial period has ended and the user has not upgraded:

```json theme={"dark"}
{
  "trial": true,
  "expired": true,
  "daysLeft": 0,
  "endsAt": "2026-04-02T01:24:53.000Z"
}
```

### Response (paid user)

When the user has an active subscription or a non-free plan:

```json theme={"dark"}
{
  "trial": false,
  "plan": "solo"
}
```

| Field   | Type    | Description                   |
| ------- | ------- | ----------------------------- |
| `trial` | boolean | Always `false` for paid users |
| `plan`  | string  | Current subscription plan     |

### Response (no trial)

When the user has no trial configured (legacy accounts or accounts without a trial end date):

```json theme={"dark"}
{
  "trial": false,
  "plan": "free"
}
```

### Response (unauthenticated)

When no valid session is present:

```json theme={"dark"}
{
  "trial": false
}
```

<Note>This endpoint does not return a `401` error for unauthenticated requests. It returns `{ trial: false }` instead, allowing the client to render a default state without handling authentication errors.</Note>
