---
title: "Grant Comp"
method: POST
path: "/admin/comps"
tags: ["admin"]
---

# Grant Comp

`POST /admin/comps`

## Request

- Base URL: `https://api.sumvid.app` (the document declares no server; this is the origin it was published from)
- URL: `https://api.sumvid.app/admin/comps`
- Auth: HTTP bearer

Grant (or update) comped paid access. Pass an `email` (looked up in the
frontend's Better Auth user table — the user must have signed up already)
or a `user_id` (JWT sub) directly. The grant is a tier floor on top of
Stripe: revoking it (or expiry) reverts the user to their Stripe tier.

## Request body

- CompGrantRequest
  - `email` string, nullable
  - `user_id` string, nullable
  - `tier` 'pro' | 'max'
  - `note` string, nullable
  - `expires_at` string, date-time, nullable

## Response `200`

Successful Response

- CompGrant
  - `user_id` string, required
  - `tier` string, required
  - `email` string, nullable
  - `note` string, nullable
  - `expires_at` string, date-time, nullable
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/sumvid/apis/summarize-vid.md) · [All operations](https://skmtc.dev/sumvid/apis/summarize-vid/llms.txt) · [OpenAPI document](https://skmtc.dev/sumvid/apis/summarize-vid/revisions/c03d66e07deb?raw)
