---
title: "Save conversations"
method: POST
path: "/v6/conversations"
tags: ["Conversations"]
---

# Save conversations

`POST /v6/conversations`

Save a new (or update an existing) set of conversations

## Request body

- MultiParamConversationPostDto
  - `data` ConversationPostDto[], required
    - `id` string — Id of the conversation, required when updating an existing conversation
    - `attachedEntityId` string — Id of the entity associated with this conversation
    - `subject` string, required — Subject of the conversation
    - `status` 'ACTIVE' | 'INACTIVE' | 'REMOVED' — Status of the conversation
    - `readStatus` 'READ' | 'UNREAD' — Read status of the conversation for the authenticated user
    - `resolutionStatus` 'OPEN' | 'CLOSED' | 'DRAFT' — Resolution status of the conversation
    - `message` ConversationMessageTextPostDto, required — Initial message for a new conversation, can only (and must) be set for a new conversation
      - `text` string — The contents of a message. Optional if attachmentIds are provided.
      - `attachmentIds` string[] — List of attachment IDs to associate with this message. Optional if text is provided.

## Response `200`

Success

- ResponseListMultiResponseConversationGetDto
  - `result` 'SUCCESS' | 'FAILURE' — The result of the action performed.
  - `data` MultiResponseConversationGetDto[] — The data generated by the action performed.
    - `result` 'SUCCESS' | 'FAILURE' — The result of the action performed.
    - `statusCode` 200 | 400 | 401 | 403 | 404 | 500 — The HTTP status code for the action performed.
    - `data` ConversationGetDto — The data generated by the action performed.
      - `id` string, required — Id of the conversation, required when updating an existing conversation
      - `attachedEntityId` string, nullable, required — Id of the entity associated with this conversation
      - `company` CompanyExpanded, required — Company associated with this conversation
        - `id` string, required — Id of the company
        - `name` string — Name of the company
      - `subject` string, required — Subject of the conversation
      - `author` AuthorInfo, required — List of authors who used this reaction
        - `userId` string, required — Id of the author
        - `email` string, nullable, required — Email of the author
      - `latestMessage` LatestMessageDto, required — The latest message associated with this conversation
        - `id` string, required — Id of the latest message
        - `author` AuthorInfo, required — List of authors who used this reaction
          - `userId` string, required — Id of the author
          - `email` string, nullable, required — Email of the author
        - `text` string, required — Contents of the latest message
      - `status` 'ACTIVE' | 'INACTIVE' | 'REMOVED', required — Status of the conversation
      - `readStatus` 'READ' | 'UNREAD', required — Read status of the conversation for the authenticated user
      - `resolutionStatus` 'OPEN' | 'CLOSED' | 'DRAFT', required — Resolution status of the conversation
      - `createdDateTime` string, date-time, required — Timestamp of when the conversation was created
      - `lastUpdatedDateTime` string, date-time, required — Timestamp of when the conversation was last updated
    - `error` ErrorItem[]
      - `type` 'UNKNOWN_ERROR' | 'INVALID_TOKEN' | 'EXPIRED_TOKEN' | 'FORBIDDEN' | 'BAD_REQUEST' | 'JSON_ERROR' | 'DUPLICATE' | 'REQUIRED' | 'INVALID_VALUE' | 'NOT_MODIFIABLE' | 'INVALID_FORMAT' | 'NOT_FOUND' — The type of the error. Safe for programmatic use.
      - `message` string — A human-readable message providing more details about the error. Safe for displaying to a user.
      - `param` string — If the error is parameter-specific, the parameter related to the error. This can be used to display a message near the correct form field.
  - `error` ErrorItem[]
    - `type` 'UNKNOWN_ERROR' | 'INVALID_TOKEN' | 'EXPIRED_TOKEN' | 'FORBIDDEN' | 'BAD_REQUEST' | 'JSON_ERROR' | 'DUPLICATE' | 'REQUIRED' | 'INVALID_VALUE' | 'NOT_MODIFIABLE' | 'INVALID_FORMAT' | 'NOT_FOUND' — The type of the error. Safe for programmatic use.
    - `message` string — A human-readable message providing more details about the error. Safe for displaying to a user.
    - `param` string — If the error is parameter-specific, the parameter related to the error. This can be used to display a message near the correct form field.

## Other responses

- `207` — Some conversations failed to save. See response body for error details.
- `400` — All conversations failed to save.
- `401` — Not authenticated
- `403` — Not authorized
- `404` — Endpoint not found
- `500` — Internal server error

---

[API](https://skmtc.net/tight/apis/tight-api.md) · [All operations](https://skmtc.net/tight/apis/tight-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/tight/tight-api/revisions/e9f0790a89af/schema)
