---
title: "Create Conversation"
method: POST
path: "/v1/dev/user/conversations"
tags: ["Conversations"]
---

# Create Conversation

`POST /v1/dev/user/conversations`

Create a new conversation from text for the authenticated user.

This endpoint processes the provided text through the full conversation pipeline:
- Generates structured data (title, overview, category, emoji)
- Extracts action items (with deduplication)
- Extracts memories (with quality filtering)
- Determines if conversation should be discarded
- Triggers app integrations
- Triggers webhooks

**Request Parameters:**
- **text**: The conversation text/transcript (1-100,000 characters)
- **text_source**: Source type - audio_transcript, message, or other_text (default: other_text)
- **text_source_spec**: Additional source info (e.g., 'email', 'slack')
- **started_at**: When conversation started (defaults to now)
- **finished_at**: When conversation finished (defaults to started_at + 5 minutes)
- **language**: Language code (default: 'en')
- **geolocation**: Optional geolocation data

**Response:**
- Returns the created conversation ID and status
- Use GET /v1/dev/user/conversations/{id} to retrieve full details

## Request body

- CreateConversationRequest
  - `finished_at` string, date-time, nullable — When the conversation finished (defaults to started_at + 5 minutes)
  - `geolocation` GeolocationInput — Released wire contract for coordinates accepted at legacy API boundaries. Bounds are enforced before any value is cached, geocoded, or persisted. Keeping this transport shape broad preserves clients released before the bound contract existed, while ``Geolocation`` remains the only usable server-side value.
    - `address` string, nullable
    - `google_place_id` string, nullable
    - `latitude` number, required
    - `location_type` string, nullable
    - `longitude` number, required
  - `language` string, nullable — Language code (ISO 639-1, e.g., 'en', 'es', 'fr')
  - `started_at` string, date-time, nullable — When the conversation started (defaults to now)
  - `text` string, required — The conversation text/transcript
  - `text_source` 'audio_transcript' | 'message' | 'other_text'
  - `text_source_spec` string, nullable — Additional source specification (e.g., 'email', 'slack', 'whatsapp')

## Response `200`

Successful Response

- ConversationCreateResponse
  - `discarded` boolean, required
  - `id` string, required
  - `meeting_treatment_eligible` boolean
  - `status` string, required

## Other responses

- `401` — Missing or invalid authentication credentials.
- `403` — Authenticated, but the token does not grant the required scope.
- `422` — Validation Error

## Changes

- **2026-08-18** `537f1535cc5c` — 1 info
  - added the optional property `meeting_treatment_eligible` to the response with the `200` status
- **2026-07-26** `0060a2464242` — 1 breaking, 1 info
  - removed `#/components/schemas/Geolocation` from the `geolocation` request property `anyOf` list
  - added `#/components/schemas/GeolocationInput` to the `geolocation` request property `anyOf` list
- **2026-07-26** `ede7f7162d63` — 4 warning
  - the `geolocation/anyOf[subschema #1: Geolocation]/latitude` request property's max was set to `90.00`
  - the `geolocation/anyOf[subschema #1: Geolocation]/longitude` request property's max was set to `180.00`
  - the `geolocation/anyOf[subschema #1: Geolocation]/latitude` request property's min was set to `-90.00`
  - the `geolocation/anyOf[subschema #1: Geolocation]/longitude` request property's min was set to `-180.00`
- **2026-06-30** `fbfe4956e141` — 2 warning
  - removed the optional property `detail/items/ctx` from the response with the `422` status
  - removed the optional property `detail/items/input` from the response with the `422` status
- **2026-06-30** `c2ab717efdbc` — 2 info
  - added the optional property `detail/items/ctx` to the response with the `422` status
  - added the optional property `detail/items/input` to the response with the `422` status

[Full history](https://skmtc.dev/basedhardware/apis/omi-developer-api/changes/v1/dev/user/conversations/post.md)

---

[API](https://skmtc.dev/basedhardware/apis/omi-developer-api.md) · [All operations](https://skmtc.dev/basedhardware/apis/omi-developer-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/basedhardware/omi-developer-api/revisions/3add0ce9bc4f/schema)
