Ticket conversations
Create
Appends one or more entries (replies or notes) to a ticket, moves the ticket to the status given in sys_status, assigns the
ticket to the caller when it has no assignee, discards the saved draft for the ticket and notifies mentioned Users.
Only the last entry of the batch is handed to outbound delivery (email and webhooks), sys_status must be the same on every entry
if given, and recipients are capped at 20 per entry (3 on the free plan).
POST
/api/{tenant:minlength(2)}/v{version:apiVersion}/ticket_conversations/{ticket_id}
- Authorisation
- Minimum role: USER
Request arguments
Request body example
Response
- Status
- 200 (OK)
- Type
- DTO_ticket_conversation[]
- Wrapper
- DTO_response_wrap
- Other statuses
- 400 (BadRequest), 403 (Forbidden)
Response body example
DTO_ticket_conversation
| Name | Type | ReadOnly | Description |
| sys_status | DTO_reference_color | | Status to move the parent ticket to as this message is created, where only one status may be supplied across the messages sent in a single call |
| created_by | DTO_reference_user | ReadOnly | The User who wrote the message, null when it came from someone who is not a User in the workspace |
| last_updated_by | DTO_reference_user | ReadOnly | The User who last edited the message, null while it has not been edited since it was created |
| requester | DTO_contact | | The contact who sent the message, set on messages that arrived from outside and null on messages written in Deskhero |
| last_message_extracted | String | | Only the new text of an inbound email with the quoted thread beneath it stripped away, lines joined with HTML line breaks, null when nothing could be isolated (heavily formatted HTML mail, for example) |
| sys_attachments | DTO_reference_attachment[] | | Files attached to this message, each referenced by its attachment id |
| id | Int32 | ReadOnly | Id of this message, assigned by Deskhero from a different sequence than the ticket number in ticket_id |
| ticket_id | Int32 | | The number of the ticket this message belongs to |
| created | DateTime | ReadOnly | When the message was added to the ticket, in UTC |
| last_updated | DateTime | ReadOnly | When the message was last written to, in UTC |
| type | ENUM ticket_conversation_type | | What kind of message this is: REPLY_INBOUND and REPLY_OUTBOUND for email replies, NOTE_PRIVATE
and NOTE_PUBLIC for notes, FORWARD, SUGGESTED_REPLY for an AI draft, AUTO_REPLY_AI and
AUTO_REPLY_STATIC for automatic answers, and CHAT_USER and CHAT_BOT for chat-bot messages. |
| email_addresses | DTO_email_address[] | | Addresses on the message, holding sender and recipients for mail that arrived and the TO, CC and BCC recipients (at most 20, or 3 on the free plan) when sending a reply |
| sys_content_rich | DTO_rich_text | | Body of the message, carried as rich text in whichever of the html, tiptap and editorjs representations was stored |
DTO_reference_color
| Name | Type | ReadOnly | Description |
| bg_color | String | ReadOnly | Bg color |
| text_color | String | ReadOnly | Text color |
| id | Int32 | | Id |
| label | Object | ReadOnly | Label |
DTO_reference_user
| Name | Type | ReadOnly | Description |
| profile_pic | String | ReadOnly | Profile pic |
| email | String | ReadOnly | Email |
| id | Int32 | | Id |
| label | Object | ReadOnly | Label |
| Name | Type | ReadOnly | Description |
| user_id | Int32 | | User id |
| email | String | | Email |
| name | String | | Name |
| profile_pic | String | | Profile pic |
DTO_reference_attachment
| Name | Type | ReadOnly | Description |
| size_kb | Int32 | ReadOnly | Size kb |
| status | ENUM attachment_status | ReadOnly | Status |
| status_message | String | ReadOnly | Status message |
| download_url | String | ReadOnly | Download url |
| id | Int32 | | Id |
| label | Object | ReadOnly | Label |
DTO_rich_text
| Name | Type | ReadOnly | Description |
| plain_preview | String | ReadOnly | Plain preview |
| html | String | | Html |
| editorjs | DTO_editorjs | | Editorjs |
| tiptap | DTO_tiptap | | Tiptap |
| read_minutes | Int32 | | Read minutes |
DTO_editorjs
| Name | Type | ReadOnly | Description |
| time | Int64 | | Time |
| version | String | | Version |
| blocks | DTO_editorjs_block[] | | Blocks |
DTO_editorjs_block
| Name | Type | ReadOnly | Description |
| id | String | | Id |
| type | String | | Type |
| data | Object | | Data |
DTO_tiptap_attrs
| Name | Type | ReadOnly | Description |
| textAlign | String | | Textalign |
| level | Int32 (nullable) | | Level |
| checked | Boolean (nullable) | | Checked |
| id | Int32 (nullable) | | Id |
| alt | String | | Alt |
| title | String | | Title |
| width | String | | Width |
| wrapperStyle | String | | Wrapperstyle |
| files | DTO_tiptap_file_ref[] | | Files |
| href | String | | Href |
| target | String | | Target |
| colspan | Int32 (nullable) | | Colspan |
| rowspan | Int32 (nullable) | | Rowspan |
| color | String | | Color |
| text | String | | Text |
| name | String | | For emoji |
| native | String | | For emoji |
DTO_tiptap_file_ref
| Name | Type | ReadOnly | Description |
| id | Int32 | | Id |
| label | String | | Label |
ENUM attachment_status
| Value | Name | Description |
| 0 | UNKNOWN | UNKNOWN |
| 1 | UNAVAILABLE | UNAVAILABLE, processing in progress |
| 2 | OK | OK |
| 3 | WARNING | WARNING |
| 4 | ERROR | ERROR |
ENUM email_address_direction
| Value | Name | Description |
| 0 | UNKNOWN | UNKNOWN |
| 1 | FROM | FROM |
| 2 | TO | TO |
| 3 | CC | CC |
| 4 | BCC | BCC |
| 5 | FORWARDED_TO | FORWARDED_TO |
| 6 | RESENT_FROM | RESENT_FROM |
| 7 | REPLY_TO | REPLY_TO |
ENUM ticket_conversation_type
| Value | Name | Description |
| 0 | UNKNOWN | UNKNOWN |
| 1 | REPLY_INBOUND | REPLY_INBOUND |
| 2 | NOTE_PRIVATE | NOTE_PRIVATE |
| 3 | NOTE_PUBLIC | NOTE_PUBLIC |
| 4 | FORWARD | FORWARD |
| 5 | REPLY_OUTBOUND | REPLY_OUTBOUND |
| 6 | SUGGESTED_REPLY | SUGGESTED_REPLY |
| 7 | AUTO_REPLY_AI | AUTO_REPLY_AI |
| 8 | AUTO_REPLY_STATIC | AUTO_REPLY_STATIC |
| 9 | CHAT_USER | CHAT_USER |
| 10 | CHAT_BOT | CHAT_BOT |
Generated Aug 4, 2026 18:37