Get Ticket Custom Field Values
Get the custom field values that have been explicitly set on a ticket. Returns only fields with values — if no values have been set, both lists will be empty. To discover all available custom field definitions for a team, use the List Custom Field Options endpoint instead.
curl --request GET \
--url https://public.api.serval.com/v2/tickets/{ticket_id}/custom-field-values \
--header 'Authorization: Bearer <token>'import requests
url = "https://public.api.serval.com/v2/tickets/{ticket_id}/custom-field-values"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://public.api.serval.com/v2/tickets/{ticket_id}/custom-field-values', 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://public.api.serval.com/v2/tickets/{ticket_id}/custom-field-values",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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://public.api.serval.com/v2/tickets/{ticket_id}/custom-field-values"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://public.api.serval.com/v2/tickets/{ticket_id}/custom-field-values")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://public.api.serval.com/v2/tickets/{ticket_id}/custom-field-values")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"customFields": [
{
"fieldValue": {
"id": "<string>",
"entityId": "<string>",
"fieldId": "<string>",
"fieldKey": "<string>",
"fieldName": "<string>",
"value": 123,
"setByUserId": "<string>",
"setByAppInstanceId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"deletedAt": "2023-11-07T05:31:56Z",
"pinned": true
},
"field": {
"id": "<string>",
"entityTypeId": "<string>",
"key": "<string>",
"name": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"createdByUserId": "<string>",
"updatedByUserId": "<string>",
"enumOptions": [
{
"id": "<string>",
"value": "<string>",
"displayName": "<string>",
"displayOrder": 123
}
],
"isKeyField": true,
"isNameField": true,
"refEntityTypeId": "<string>",
"description": "<string>",
"sourceEntityTypeId": "<string>",
"sectionId": "<string>"
}
}
],
"deprecatedFields": [
{
"fieldValue": {
"id": "<string>",
"entityId": "<string>",
"fieldId": "<string>",
"fieldKey": "<string>",
"fieldName": "<string>",
"value": 123,
"setByUserId": "<string>",
"setByAppInstanceId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"deletedAt": "2023-11-07T05:31:56Z",
"pinned": true
},
"field": {
"id": "<string>",
"entityTypeId": "<string>",
"key": "<string>",
"name": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"createdByUserId": "<string>",
"updatedByUserId": "<string>",
"enumOptions": [
{
"id": "<string>",
"value": "<string>",
"displayName": "<string>",
"displayOrder": 123
}
],
"isKeyField": true,
"isNameField": true,
"refEntityTypeId": "<string>",
"description": "<string>",
"sourceEntityTypeId": "<string>",
"sectionId": "<string>"
}
}
],
"customFieldGroups": [
{
"section": {
"id": "<string>",
"entityTypeId": "<string>",
"name": "<string>",
"sourceEntityTypeId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"createdByUserId": "<string>",
"updatedByUserId": "<string>"
},
"customFields": [
{
"fieldValue": {
"id": "<string>",
"entityId": "<string>",
"fieldId": "<string>",
"fieldKey": "<string>",
"fieldName": "<string>",
"value": 123,
"setByUserId": "<string>",
"setByAppInstanceId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"deletedAt": "2023-11-07T05:31:56Z",
"pinned": true
},
"field": {
"id": "<string>",
"entityTypeId": "<string>",
"key": "<string>",
"name": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"createdByUserId": "<string>",
"updatedByUserId": "<string>",
"enumOptions": [
{
"id": "<string>",
"value": "<string>",
"displayName": "<string>",
"displayOrder": 123
}
],
"isKeyField": true,
"isNameField": true,
"refEntityTypeId": "<string>",
"description": "<string>",
"sourceEntityTypeId": "<string>",
"sectionId": "<string>"
}
}
]
}
]
}{
"message": "<string>",
"detail": {
"type": "<string>",
"value": "<string>",
"debug": {}
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
The ID of the ticket to get custom field values for.
Response
Success
Returns the ticket's custom-field schema for its (type, subtype) model, with current values where set. Unset fields still appear (field_value empty). When no values have ever been written the schema is still returned — resolved from the ticket row, same as the UI's GetCustomFieldOptionsForTicketType path.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Active custom fields grouped by their svstore entity_field_section. Use this when rendering one container per group on the UI; the existing custom_fields list is retained for flat-list consumers.
Show child attributes
Show child attributes
Was this page helpful?
curl --request GET \
--url https://public.api.serval.com/v2/tickets/{ticket_id}/custom-field-values \
--header 'Authorization: Bearer <token>'import requests
url = "https://public.api.serval.com/v2/tickets/{ticket_id}/custom-field-values"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://public.api.serval.com/v2/tickets/{ticket_id}/custom-field-values', 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://public.api.serval.com/v2/tickets/{ticket_id}/custom-field-values",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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://public.api.serval.com/v2/tickets/{ticket_id}/custom-field-values"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://public.api.serval.com/v2/tickets/{ticket_id}/custom-field-values")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://public.api.serval.com/v2/tickets/{ticket_id}/custom-field-values")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"customFields": [
{
"fieldValue": {
"id": "<string>",
"entityId": "<string>",
"fieldId": "<string>",
"fieldKey": "<string>",
"fieldName": "<string>",
"value": 123,
"setByUserId": "<string>",
"setByAppInstanceId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"deletedAt": "2023-11-07T05:31:56Z",
"pinned": true
},
"field": {
"id": "<string>",
"entityTypeId": "<string>",
"key": "<string>",
"name": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"createdByUserId": "<string>",
"updatedByUserId": "<string>",
"enumOptions": [
{
"id": "<string>",
"value": "<string>",
"displayName": "<string>",
"displayOrder": 123
}
],
"isKeyField": true,
"isNameField": true,
"refEntityTypeId": "<string>",
"description": "<string>",
"sourceEntityTypeId": "<string>",
"sectionId": "<string>"
}
}
],
"deprecatedFields": [
{
"fieldValue": {
"id": "<string>",
"entityId": "<string>",
"fieldId": "<string>",
"fieldKey": "<string>",
"fieldName": "<string>",
"value": 123,
"setByUserId": "<string>",
"setByAppInstanceId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"deletedAt": "2023-11-07T05:31:56Z",
"pinned": true
},
"field": {
"id": "<string>",
"entityTypeId": "<string>",
"key": "<string>",
"name": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"createdByUserId": "<string>",
"updatedByUserId": "<string>",
"enumOptions": [
{
"id": "<string>",
"value": "<string>",
"displayName": "<string>",
"displayOrder": 123
}
],
"isKeyField": true,
"isNameField": true,
"refEntityTypeId": "<string>",
"description": "<string>",
"sourceEntityTypeId": "<string>",
"sectionId": "<string>"
}
}
],
"customFieldGroups": [
{
"section": {
"id": "<string>",
"entityTypeId": "<string>",
"name": "<string>",
"sourceEntityTypeId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"createdByUserId": "<string>",
"updatedByUserId": "<string>"
},
"customFields": [
{
"fieldValue": {
"id": "<string>",
"entityId": "<string>",
"fieldId": "<string>",
"fieldKey": "<string>",
"fieldName": "<string>",
"value": 123,
"setByUserId": "<string>",
"setByAppInstanceId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"deletedAt": "2023-11-07T05:31:56Z",
"pinned": true
},
"field": {
"id": "<string>",
"entityTypeId": "<string>",
"key": "<string>",
"name": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"createdByUserId": "<string>",
"updatedByUserId": "<string>",
"enumOptions": [
{
"id": "<string>",
"value": "<string>",
"displayName": "<string>",
"displayOrder": 123
}
],
"isKeyField": true,
"isNameField": true,
"refEntityTypeId": "<string>",
"description": "<string>",
"sourceEntityTypeId": "<string>",
"sectionId": "<string>"
}
}
]
}
]
}{
"message": "<string>",
"detail": {
"type": "<string>",
"value": "<string>",
"debug": {}
}
}
