---
title: "Create a meeting type (v2)"
method: POST
path: "/v2/meeting-types/"
tags: ["meeting-types"]
---

# Create a meeting type (v2)

`POST /v2/meeting-types/`

Create ONE meeting type from `{ name, emoji? }`. Names are unique per user — a duplicate returns 400. **Requires `Idempotency-Key`.** Returns `{ data: { meeting_type: {...} } }` with status 201.

## Headers

- `Idempotency-Key` string, required

## Request body

- object
  - `name` string, required
  - `emoji` string

## Response `201`

Created

- object
  - `data` object, required
    - `meeting_type` object, required
      - `id` string, uuid, required
      - `user_id` string
      - `name` string, required
      - `emoji` string, nullable
      - `created_at` union, required
        - string, date-time
        - unknown

## Other responses

- `400` — Request body failed validation.
- `401` — Missing or invalid API key.
- `403` — Valid key, insufficient permission.
- `404` — Resource does not exist.
- `409` — Request conflicts with the current state of the resource.
- `429` — Rate limit exceeded.
- `500` — Unexpected server error.

## Changes

> 17 revisions in range; 1 could not be searched.

- **2026-08-27** `a2f71a243839` — 1 info
  - api operation id `createMeetingTypeV2` was added

[Change history](https://skmtc.dev/getdex/apis/dex-public-api/changes/v2/meeting-types/post.md)

---

[API](https://skmtc.dev/getdex/apis/dex-public-api.md) · [All operations](https://skmtc.dev/getdex/apis/dex-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/getdex/dex-public-api/revisions/eb1883ce3c67/schema)
