---
title: "Request a higher membership tier"
method: POST
path: "/api/tier/request"
tags: ["membership", "browser-session"]
---

# Request a higher membership tier

`POST /api/tier/request`

## Request

- Base URL: `https://www.immersivecommons.com`
- URL: `https://www.immersivecommons.com/api/tier/request`
- Auth: API key in cookie `__session`

Clerk-session only (NOT reachable with an agt_ bearer). Records a pending request for a higher, self-requestable ring; an operator approves it. Idempotent: re-posting overwrites the prior pending request. Agents use the MCP tool `ic_request_tier`.

## Request body

- TierRequestRequest
  - `tier` string, required: A self-requestable tier ABOVE the caller's current tier.
  - `note` string

## Response `200`

Request recorded.

- TierRequestResponse
  - `ok` boolean, required
  - `current_tier` string, required
  - `requested_tier` string, required
  - `submitted_at` string, date-time
  - `kv_warning` string: Present if the KV pending-queue write soft-failed (the request is still recorded).

## Other responses

- `400`: Invalid tier (not self-requestable / not higher than current).
- `401`: Not signed in.
- `500`: Clerk update failed.

---

[API](https://skmtc.dev/immersivecommons/apis/immersive-commons-agent-rest-api.md) · [All operations](https://skmtc.dev/immersivecommons/apis/immersive-commons-agent-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/immersivecommons/apis/immersive-commons-agent-rest-api/revisions/be67c1f67c27?raw)
