curl --request POST \
--url https://{your-subdomain}.neetodesk.com/api/external/v2/tickets/{ticket_id}/drafts \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: <x-api-key>' \
--data '
{
"content": "We are looking into the issue.",
"comment_type": "note",
"author_email": "oliver@example.com",
"attachments": [
"eyJfcmFpbHMiOnsiZGF0YSI6IjEyMyJ9fQ=="
]
}
'const options = {
method: 'POST',
headers: {'X-Api-Key': '<x-api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
content: 'We are looking into the issue.',
comment_type: 'note',
author_email: 'oliver@example.com',
attachments: ['eyJfcmFpbHMiOnsiZGF0YSI6IjEyMyJ9fQ==']
})
};
fetch('https://{your-subdomain}.neetodesk.com/api/external/v2/tickets/{ticket_id}/drafts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://{your-subdomain}.neetodesk.com/api/external/v2/tickets/{ticket_id}/drafts"
payload = {
"content": "We are looking into the issue.",
"comment_type": "note",
"author_email": "oliver@example.com",
"attachments": ["eyJfcmFpbHMiOnsiZGF0YSI6IjEyMyJ9fQ=="]
}
headers = {
"X-Api-Key": "<x-api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"draft": {
"id": "aaaabbbb-cccc-dddd-eeee-ffff00004444",
"comment_type": "reply",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"content": "We are looking into the issue.",
"attachments": [
"eyJfcmFpbHMiOnsiZGF0YSI6IjEyMyJ9fQ=="
]
}
}Create draft comment
Creates a draft comment for a specific ticket.
curl --request POST \
--url https://{your-subdomain}.neetodesk.com/api/external/v2/tickets/{ticket_id}/drafts \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: <x-api-key>' \
--data '
{
"content": "We are looking into the issue.",
"comment_type": "note",
"author_email": "oliver@example.com",
"attachments": [
"eyJfcmFpbHMiOnsiZGF0YSI6IjEyMyJ9fQ=="
]
}
'const options = {
method: 'POST',
headers: {'X-Api-Key': '<x-api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
content: 'We are looking into the issue.',
comment_type: 'note',
author_email: 'oliver@example.com',
attachments: ['eyJfcmFpbHMiOnsiZGF0YSI6IjEyMyJ9fQ==']
})
};
fetch('https://{your-subdomain}.neetodesk.com/api/external/v2/tickets/{ticket_id}/drafts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://{your-subdomain}.neetodesk.com/api/external/v2/tickets/{ticket_id}/drafts"
payload = {
"content": "We are looking into the issue.",
"comment_type": "note",
"author_email": "oliver@example.com",
"attachments": ["eyJfcmFpbHMiOnsiZGF0YSI6IjEyMyJ9fQ=="]
}
headers = {
"X-Api-Key": "<x-api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"draft": {
"id": "aaaabbbb-cccc-dddd-eeee-ffff00004444",
"comment_type": "reply",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"content": "We are looking into the issue.",
"attachments": [
"eyJfcmFpbHMiOnsiZGF0YSI6IjEyMyJ9fQ=="
]
}
}{your-subdomain} with your workspace’s subdomain. Learn how to find your subdomain in Workspace subdomain.
Headers
Use the X-Api-Key header to provide your workspace API key. Refer to Authentication for more information.
Path Parameters
ID of the ticket. You can use either the ticket ID (UUID) or ticket number (sequential number) interchangeably. Refer to Getting Ticket ID section for detailed instructions.
Body
Content for the draft comment. Cannot be blank.
"We are looking into the issue."
Type of the comment. Defaults to reply.
reply, note "note"
Optional email address of the person creating the draft. If provided, the signature stored in NeetoDesk for this user will be appended to the draft.
"oliver@example.com"
Signed ids returned by Upload attachment or Reserve an attachment upload. The ids are kept on the draft and are not attached to anything until the draft is sent. A signed id minted in another workspace is rejected, and so is one whose file was reserved but never sent. Attachments are all-or-nothing: if any id in the array is unknown, malformed, unsent or from another workspace, the whole request fails and the draft is unchanged. Passing this replaces the ids the draft already held; omit it to leave them as they are, or pass an empty array to clear them. Attaching the draft's files when it is sent applies the workspace attachment limit, 10 MB by default.
["eyJfcmFpbHMiOnsiZGF0YSI6IjEyMyJ9fQ=="]
Response
Created - Draft created successfully
Hide child attributes
Hide child attributes
Unique identifier for the draft
"aaaabbbb-cccc-dddd-eeee-ffff00004444"
The type of the comment
"reply"
Timestamp when the draft was created
Timestamp when the draft was last updated
Content of the draft comment
"We are looking into the issue."
Signed ids of the files kept on the draft.
["eyJfcmFpbHMiOnsiZGF0YSI6IjEyMyJ9fQ=="]