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"
}
'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"
}
headers = {
"X-Api-Key": "<x-api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)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'
})
};
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));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{your-subdomain}.neetodesk.com/api/external/v2/tickets/{ticket_id}/drafts",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'content' => 'We are looking into the issue.',
'comment_type' => 'note',
'author_email' => 'oliver@example.com'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Api-Key: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{your-subdomain}.neetodesk.com/api/external/v2/tickets/{ticket_id}/drafts"
payload := strings.NewReader("{\n \"content\": \"We are looking into the issue.\",\n \"comment_type\": \"note\",\n \"author_email\": \"oliver@example.com\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Api-Key", "<x-api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{your-subdomain}.neetodesk.com/api/external/v2/tickets/{ticket_id}/drafts")
.header("X-Api-Key", "<x-api-key>")
.header("Content-Type", "application/json")
.body("{\n \"content\": \"We are looking into the issue.\",\n \"comment_type\": \"note\",\n \"author_email\": \"oliver@example.com\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{your-subdomain}.neetodesk.com/api/external/v2/tickets/{ticket_id}/drafts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Api-Key"] = '<x-api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"content\": \"We are looking into the issue.\",\n \"comment_type\": \"note\",\n \"author_email\": \"oliver@example.com\"\n}"
response = http.request(request)
puts response.read_body{
"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."
}
}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"
}
'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"
}
headers = {
"X-Api-Key": "<x-api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)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'
})
};
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));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{your-subdomain}.neetodesk.com/api/external/v2/tickets/{ticket_id}/drafts",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'content' => 'We are looking into the issue.',
'comment_type' => 'note',
'author_email' => 'oliver@example.com'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Api-Key: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{your-subdomain}.neetodesk.com/api/external/v2/tickets/{ticket_id}/drafts"
payload := strings.NewReader("{\n \"content\": \"We are looking into the issue.\",\n \"comment_type\": \"note\",\n \"author_email\": \"oliver@example.com\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Api-Key", "<x-api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{your-subdomain}.neetodesk.com/api/external/v2/tickets/{ticket_id}/drafts")
.header("X-Api-Key", "<x-api-key>")
.header("Content-Type", "application/json")
.body("{\n \"content\": \"We are looking into the issue.\",\n \"comment_type\": \"note\",\n \"author_email\": \"oliver@example.com\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{your-subdomain}.neetodesk.com/api/external/v2/tickets/{ticket_id}/drafts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Api-Key"] = '<x-api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"content\": \"We are looking into the issue.\",\n \"comment_type\": \"note\",\n \"author_email\": \"oliver@example.com\"\n}"
response = http.request(request)
puts response.read_body{
"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."
}
}{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"
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."