---
title: "Propose a member event (operator-approved)"
method: POST
path: "/api/events/request"
tags: ["events"]
---

# Propose a member event (operator-approved)

`POST /api/events/request`

## Request

- Base URL: `https://www.immersivecommons.com`
- URL: `https://www.immersivecommons.com/api/events/request`
- Auth: HTTP bearer

Clerk session or agt_ token with `events:request` (ic-member+). Enqueues a Luma-shaped 'save the date' into the pending queue for operator approval — it NEVER auto-creates a public event. Supports an `Idempotency-Key`.

## Headers

- `Idempotency-Key` string

## Request body

- EventRequestRequest: Luma-shaped event proposal (EventRequestDetails).
  - `title` string, required
  - `start` string, date-time, required: Future ISO-8601 start.
  - `end` string, date-time
  - `location` string
  - `description` string
  - `cover_url` string
  - `capacity` integer
  - `visibility` 'public' | 'members'
  - `host` string
  - `contact` string
  - `slideshow_url` string

## Response `200`

Request enqueued as pending.

- EventRequestResponse
  - `ok` boolean, required
  - `id` string, required
  - `status` 'pending', required
  - `via` 'clerk' | 'agent'

## Other responses

- `400`: Invalid JSON or field.
- `401`: No auth.
- `403`: Tier/scope does not authorize events:request.
- `429`: Per-member daily cap reached.
- `500`: Queue write failed.
- `503`: Rate limiter unavailable.

---

[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)
