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

# Create Conversation

`POST /api/v1/conversations`

## Request body

- CreateConversationRequest
  - `subject` string — Conversation subject
  - `content` string, required — Initial message content (Accepts HTML as well)
  - `inbox_id` integer, required — Inbox ID for the conversation
  - `team_id` integer, nullable — Team ID to be assigned when conversation is created
  - `agent_id` integer, nullable — Agent ID to be assigned when conversation is created
  - `contact_email` string, email, required — Contact's email address
  - `first_name` string, required — Contact's first name
  - `last_name` string — Contact's last name
  - `external_user_id` string — External identifier for the contact in your own system
  - `attachments` integer[] — Array of attachment IDs
  - `initiator` 'agent' | 'contact', required — Who initiated the conversation. 'contact' means the first message is treated as an incoming message from the contact; 'agent' means the first message is an outgoing reply from the agent. Automation rules are only evaluated for contact-initiated conversations (incoming messages); agent-initiated conversations skip automation rule evaluation.
  - `custom_attributes` object — Arbitrary key-value custom attributes to set on the conversation

## Response `200`

Conversation created successfully

- ConversationResponse
  - `status` string
  - `data` Conversation
    - `id` integer — Unique conversation ID
    - `created_at` string, date-time
    - `updated_at` string, date-time
    - `uuid` string, uuid — Unique UUID for the conversation
    - `contact_id` integer
    - `inbox_id` integer
    - `closed_at` string, date-time, nullable
    - `resolved_at` string, date-time, nullable
    - `reference_number` string — Human-readable reference number for the conversation
    - `priority` string, nullable
    - `priority_id` integer, nullable
    - `status` string — Current status of the conversation (Open, Closed, Resolved)
    - `status_id` integer
    - `first_reply_at` string, date-time, nullable
    - `last_reply_at` string, date-time, nullable
    - `assigned_user_id` integer, nullable
    - `assigned_team_id` integer, nullable
    - `assignee_last_seen_at` string, date-time
    - `waiting_since` string, date-time, nullable
    - `subject` string — Subject line of the conversation
    - `inbox_mail` string, email — Email address of the inbox
    - `inbox_name` string — Name of the inbox
    - `inbox_channel` string — Channel type of the inbox (email, web, api)
    - `tags` string[]
    - `meta` object[]
    - `custom_attributes` object
    - `last_message_at` string, date-time
    - `last_message` string — Content of the last message in the conversation
    - `last_message_sender` 'contact' | 'agent' — Who sent the last message
    - `contact` Contact
      - `id` integer
      - `created_at` string, date-time
      - `updated_at` string, date-time
      - `first_name` string
      - `last_name` string
      - `email` string, email
      - `type` string
      - `availability_status` string
      - `avatar_url` string, nullable
      - `phone_number` string, nullable
      - `phone_number_country_code` string, nullable
      - `custom_attributes` object, nullable
      - `enabled` boolean
      - `last_active_at` string, date-time, nullable
      - `last_login_at` string, date-time, nullable
      - `roles` string[], nullable
      - `permissions` string[], nullable
      - `teams` object[]
      - `api_key` string, nullable
      - `api_key_last_used_at` string, date-time, nullable
    - `sla_policy_id` integer, nullable
    - `sla_policy_name` string, nullable
    - `applied_sla_id` integer, nullable
    - `first_response_deadline_at` string, date-time, nullable
    - `resolution_deadline_at` string, date-time, nullable
    - `next_response_deadline_at` string, date-time, nullable
    - `next_response_met_at` string, date-time, nullable
    - `previous_conversations` object[]
      - `id` integer
      - `created_at` string, date-time
      - `updated_at` string, date-time
      - `uuid` string
      - `contact` object
        - `first_name` string
        - `last_name` string
        - `avatar_url` string, nullable
      - `last_message` string
      - `last_message_at` string, date-time

## Other responses

- `401` — Unauthorized
- `500` — Internal server error

---

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