curl --request GET \
--url https://{your-subdomain}.neetodesk.com/api/external/v2/tickets/{ticket_id} \
--header 'X-Api-Key: <x-api-key>'import requests
url = "https://{your-subdomain}.neetodesk.com/api/external/v2/tickets/{ticket_id}"
headers = {"X-Api-Key": "<x-api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Api-Key': '<x-api-key>'}};
fetch('https://{your-subdomain}.neetodesk.com/api/external/v2/tickets/{ticket_id}', 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}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://{your-subdomain}.neetodesk.com/api/external/v2/tickets/{ticket_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Api-Key", "<x-api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://{your-subdomain}.neetodesk.com/api/external/v2/tickets/{ticket_id}")
.header("X-Api-Key", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{your-subdomain}.neetodesk.com/api/external/v2/tickets/{ticket_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Api-Key"] = '<x-api-key>'
response = http.request(request)
puts response.read_body{
"ticket": {
"id": "aaaabbbb-cccc-dddd-eeee-ffff00003333",
"number": 33,
"subject": "How to resolve the pending payments",
"description": "I need your help in resolving the pending payments.",
"priority": "low",
"status": "open",
"created_at": "2025-12-01T10:15:00Z",
"updated_at": "2025-12-05T14:30:00Z",
"external_id": "CP-1234",
"source": "concierge_plus",
"category": "Problem",
"sub_category_one": "Billing",
"sub_category_two": "Refund",
"group": "Sales",
"tags": [
"refund",
"urgent"
],
"assignee": {
"id": "aaaabbbb-cccc-dddd-eeee-ffff00001111",
"name": "Oliver Smith",
"email": "oliver@example.com"
},
"customer": {
"id": "aaaabbbb-cccc-dddd-eeee-ffff00002222",
"name": "John Luther",
"email": "john@example.com",
"phone_numbers": [
"+1234567890"
]
},
"fields": [
{
"field_name": "Country",
"field_value": "USA"
}
]
}
}Get ticket
Retrieves details of a specific ticket.
curl --request GET \
--url https://{your-subdomain}.neetodesk.com/api/external/v2/tickets/{ticket_id} \
--header 'X-Api-Key: <x-api-key>'import requests
url = "https://{your-subdomain}.neetodesk.com/api/external/v2/tickets/{ticket_id}"
headers = {"X-Api-Key": "<x-api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Api-Key': '<x-api-key>'}};
fetch('https://{your-subdomain}.neetodesk.com/api/external/v2/tickets/{ticket_id}', 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}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://{your-subdomain}.neetodesk.com/api/external/v2/tickets/{ticket_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Api-Key", "<x-api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://{your-subdomain}.neetodesk.com/api/external/v2/tickets/{ticket_id}")
.header("X-Api-Key", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{your-subdomain}.neetodesk.com/api/external/v2/tickets/{ticket_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Api-Key"] = '<x-api-key>'
response = http.request(request)
puts response.read_body{
"ticket": {
"id": "aaaabbbb-cccc-dddd-eeee-ffff00003333",
"number": 33,
"subject": "How to resolve the pending payments",
"description": "I need your help in resolving the pending payments.",
"priority": "low",
"status": "open",
"created_at": "2025-12-01T10:15:00Z",
"updated_at": "2025-12-05T14:30:00Z",
"external_id": "CP-1234",
"source": "concierge_plus",
"category": "Problem",
"sub_category_one": "Billing",
"sub_category_two": "Refund",
"group": "Sales",
"tags": [
"refund",
"urgent"
],
"assignee": {
"id": "aaaabbbb-cccc-dddd-eeee-ffff00001111",
"name": "Oliver Smith",
"email": "oliver@example.com"
},
"customer": {
"id": "aaaabbbb-cccc-dddd-eeee-ffff00002222",
"name": "John Luther",
"email": "john@example.com",
"phone_numbers": [
"+1234567890"
]
},
"fields": [
{
"field_name": "Country",
"field_value": "USA"
}
]
}
}{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.
Response
OK - Request succeeded
Hide child attributes
Hide child attributes
"aaaabbbb-cccc-dddd-eeee-ffff00003333"
33
"How to resolve the pending payments"
HTML content of the ticket description.
"I need your help in resolving the pending payments."
"low"
"open"
Timestamp when the ticket was created.
"2025-12-01T10:15:00Z"
Timestamp when the ticket was last updated.
"2025-12-05T14:30:00Z"
Identifier for this ticket in the system it was imported from, if one was supplied.
"CP-1234"
Name of the system external_id refers to.
"concierge_plus"
"Problem"
"Billing"
"Refund"
Name of the assigned group.
"Sales"
["refund", "urgent"]