Get Ticket Audits
curl --request POST \
--url 'https://actionkit.useparagon.com/projects/{project_id}/tools/#ZENDESK_GET_TICKET_AUDITS' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"tool": "ZENDESK_GET_TICKET_AUDITS",
"parameters": {
"ticketId": "<string>",
"paginationParameters": {
"pageCursor": "<string>",
"limit": 123
}
}
}
'import requests
url = "https://actionkit.useparagon.com/projects/{project_id}/tools/#ZENDESK_GET_TICKET_AUDITS"
payload = {
"tool": "ZENDESK_GET_TICKET_AUDITS",
"parameters": {
"ticketId": "<string>",
"paginationParameters": {
"pageCursor": "<string>",
"limit": 123
}
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
tool: 'ZENDESK_GET_TICKET_AUDITS',
parameters: {
ticketId: '<string>',
paginationParameters: {pageCursor: '<string>', limit: 123}
}
})
};
fetch('https://actionkit.useparagon.com/projects/{project_id}/tools/#ZENDESK_GET_TICKET_AUDITS', 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://actionkit.useparagon.com/projects/{project_id}/tools/#ZENDESK_GET_TICKET_AUDITS",
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([
'tool' => 'ZENDESK_GET_TICKET_AUDITS',
'parameters' => [
'ticketId' => '<string>',
'paginationParameters' => [
'pageCursor' => '<string>',
'limit' => 123
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://actionkit.useparagon.com/projects/{project_id}/tools/#ZENDESK_GET_TICKET_AUDITS"
payload := strings.NewReader("{\n \"tool\": \"ZENDESK_GET_TICKET_AUDITS\",\n \"parameters\": {\n \"ticketId\": \"<string>\",\n \"paginationParameters\": {\n \"pageCursor\": \"<string>\",\n \"limit\": 123\n }\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://actionkit.useparagon.com/projects/{project_id}/tools/#ZENDESK_GET_TICKET_AUDITS")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"tool\": \"ZENDESK_GET_TICKET_AUDITS\",\n \"parameters\": {\n \"ticketId\": \"<string>\",\n \"paginationParameters\": {\n \"pageCursor\": \"<string>\",\n \"limit\": 123\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://actionkit.useparagon.com/projects/{project_id}/tools/#ZENDESK_GET_TICKET_AUDITS")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"tool\": \"ZENDESK_GET_TICKET_AUDITS\",\n \"parameters\": {\n \"ticketId\": \"<string>\",\n \"paginationParameters\": {\n \"pageCursor\": \"<string>\",\n \"limit\": 123\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"records": [
{
"id": 360000380729,
"ticket_id": 35436,
"created_at": "2026-10-16T05:54:37Z",
"author_id": 360000040777,
"metadata": {
"system": {
"client": "axios/0.24.0",
"ip_address": "203.0.113.10",
"transaction_id": "01M51MDM0R597S5YPXMHR46ANH",
"location": "Example City, United States",
"latitude": 39.0469,
"longitude": -77.4903
},
"custom": {},
"notifications_suppressed_for": [
360000020441
]
},
"events": [
{
"id": 360000400857,
"type": "Comment",
"author_id": 360000020441,
"body": "Temporary ticket created while documenting ActionKit responses. Deleted right after.",
"html_body": "<div class=\"zd-comment\" dir=\"auto\"><p dir=\"auto\">Temporary ticket created while documenting ActionKit responses. Deleted right after.</p></div>",
"plain_body": "Temporary ticket created while documenting ActionKit responses. Deleted right after.",
"public": true,
"attachments": [],
"audit_id": 360000380729
},
{
"id": 360000420985,
"type": "Create",
"value": "360000020441",
"field_name": "requester_id"
},
{
"id": 360000440113,
"type": "Create",
"value": "normal",
"field_name": "priority"
},
{
"id": 360000460241,
"type": "Create",
"value": "[Paragon docs test] safe to delete",
"field_name": "subject"
},
{
"id": 360000480369,
"type": "Create",
"value": null,
"field_name": "type"
},
{
"id": 360000500497,
"type": "Create",
"value": "open",
"field_name": "status"
},
{
"id": 360000520625,
"type": "Create",
"value": "360000060358",
"field_name": "group_id"
},
{
"id": 360000540753,
"type": "Create",
"value": "360000040777",
"field_name": "assignee_id"
},
{
"id": 360000560881,
"type": "Create",
"value": "360000340813",
"field_name": "custom_status_id"
},
{
"id": 360000580009,
"type": "Create",
"value": "360000600377",
"field_name": "ticket_form_id"
},
{
"id": 360000620137,
"type": "Notification",
"via": {
"channel": "rule",
"source": {
"from": {
"deleted": false,
"title": "Notify all agents of received request",
"id": 360000640977
},
"rel": "trigger"
}
},
"subject": "[{{ticket.account}}] {{ticket.title}}",
"body": "A ticket (#{{ticket.id}}) by {{ticket.requester.name}} has been received. It is unassigned.\n\n{{ticket.comments_formatted}}",
"recipients": [
360000040777
]
}
],
"via": {
"channel": "api",
"source": {
"from": {},
"to": {},
"rel": null
}
}
},
{
"id": 360000680761,
"ticket_id": 35436,
"created_at": "2026-10-16T05:54:38Z",
"author_id": 360000040777,
"metadata": {
"system": {
"client": "axios/0.24.0",
"ip_address": "203.0.113.10",
"transaction_id": "01M51MDNKQTRNXX8FW0SR0X93V",
"location": "Example City, United States",
"latitude": 39.0469,
"longitude": -77.4903
},
"custom": {}
},
"events": [
{
"id": 360000700889,
"type": "Change",
"value": "high",
"field_name": "priority",
"previous_value": "normal"
}
],
"via": {
"channel": "api",
"source": {
"from": {},
"to": {},
"rel": null
}
}
}
],
"nextPageCursor": null
}Tools
Get Ticket Audits
POST
/
projects
/
{project_id}
/
tools
/
#ZENDESK_GET_TICKET_AUDITS
Get Ticket Audits
curl --request POST \
--url 'https://actionkit.useparagon.com/projects/{project_id}/tools/#ZENDESK_GET_TICKET_AUDITS' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"tool": "ZENDESK_GET_TICKET_AUDITS",
"parameters": {
"ticketId": "<string>",
"paginationParameters": {
"pageCursor": "<string>",
"limit": 123
}
}
}
'import requests
url = "https://actionkit.useparagon.com/projects/{project_id}/tools/#ZENDESK_GET_TICKET_AUDITS"
payload = {
"tool": "ZENDESK_GET_TICKET_AUDITS",
"parameters": {
"ticketId": "<string>",
"paginationParameters": {
"pageCursor": "<string>",
"limit": 123
}
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
tool: 'ZENDESK_GET_TICKET_AUDITS',
parameters: {
ticketId: '<string>',
paginationParameters: {pageCursor: '<string>', limit: 123}
}
})
};
fetch('https://actionkit.useparagon.com/projects/{project_id}/tools/#ZENDESK_GET_TICKET_AUDITS', 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://actionkit.useparagon.com/projects/{project_id}/tools/#ZENDESK_GET_TICKET_AUDITS",
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([
'tool' => 'ZENDESK_GET_TICKET_AUDITS',
'parameters' => [
'ticketId' => '<string>',
'paginationParameters' => [
'pageCursor' => '<string>',
'limit' => 123
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://actionkit.useparagon.com/projects/{project_id}/tools/#ZENDESK_GET_TICKET_AUDITS"
payload := strings.NewReader("{\n \"tool\": \"ZENDESK_GET_TICKET_AUDITS\",\n \"parameters\": {\n \"ticketId\": \"<string>\",\n \"paginationParameters\": {\n \"pageCursor\": \"<string>\",\n \"limit\": 123\n }\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://actionkit.useparagon.com/projects/{project_id}/tools/#ZENDESK_GET_TICKET_AUDITS")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"tool\": \"ZENDESK_GET_TICKET_AUDITS\",\n \"parameters\": {\n \"ticketId\": \"<string>\",\n \"paginationParameters\": {\n \"pageCursor\": \"<string>\",\n \"limit\": 123\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://actionkit.useparagon.com/projects/{project_id}/tools/#ZENDESK_GET_TICKET_AUDITS")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"tool\": \"ZENDESK_GET_TICKET_AUDITS\",\n \"parameters\": {\n \"ticketId\": \"<string>\",\n \"paginationParameters\": {\n \"pageCursor\": \"<string>\",\n \"limit\": 123\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"records": [
{
"id": 360000380729,
"ticket_id": 35436,
"created_at": "2026-10-16T05:54:37Z",
"author_id": 360000040777,
"metadata": {
"system": {
"client": "axios/0.24.0",
"ip_address": "203.0.113.10",
"transaction_id": "01M51MDM0R597S5YPXMHR46ANH",
"location": "Example City, United States",
"latitude": 39.0469,
"longitude": -77.4903
},
"custom": {},
"notifications_suppressed_for": [
360000020441
]
},
"events": [
{
"id": 360000400857,
"type": "Comment",
"author_id": 360000020441,
"body": "Temporary ticket created while documenting ActionKit responses. Deleted right after.",
"html_body": "<div class=\"zd-comment\" dir=\"auto\"><p dir=\"auto\">Temporary ticket created while documenting ActionKit responses. Deleted right after.</p></div>",
"plain_body": "Temporary ticket created while documenting ActionKit responses. Deleted right after.",
"public": true,
"attachments": [],
"audit_id": 360000380729
},
{
"id": 360000420985,
"type": "Create",
"value": "360000020441",
"field_name": "requester_id"
},
{
"id": 360000440113,
"type": "Create",
"value": "normal",
"field_name": "priority"
},
{
"id": 360000460241,
"type": "Create",
"value": "[Paragon docs test] safe to delete",
"field_name": "subject"
},
{
"id": 360000480369,
"type": "Create",
"value": null,
"field_name": "type"
},
{
"id": 360000500497,
"type": "Create",
"value": "open",
"field_name": "status"
},
{
"id": 360000520625,
"type": "Create",
"value": "360000060358",
"field_name": "group_id"
},
{
"id": 360000540753,
"type": "Create",
"value": "360000040777",
"field_name": "assignee_id"
},
{
"id": 360000560881,
"type": "Create",
"value": "360000340813",
"field_name": "custom_status_id"
},
{
"id": 360000580009,
"type": "Create",
"value": "360000600377",
"field_name": "ticket_form_id"
},
{
"id": 360000620137,
"type": "Notification",
"via": {
"channel": "rule",
"source": {
"from": {
"deleted": false,
"title": "Notify all agents of received request",
"id": 360000640977
},
"rel": "trigger"
}
},
"subject": "[{{ticket.account}}] {{ticket.title}}",
"body": "A ticket (#{{ticket.id}}) by {{ticket.requester.name}} has been received. It is unassigned.\n\n{{ticket.comments_formatted}}",
"recipients": [
360000040777
]
}
],
"via": {
"channel": "api",
"source": {
"from": {},
"to": {},
"rel": null
}
}
},
{
"id": 360000680761,
"ticket_id": 35436,
"created_at": "2026-10-16T05:54:38Z",
"author_id": 360000040777,
"metadata": {
"system": {
"client": "axios/0.24.0",
"ip_address": "203.0.113.10",
"transaction_id": "01M51MDNKQTRNXX8FW0SR0X93V",
"location": "Example City, United States",
"latitude": 39.0469,
"longitude": -77.4903
},
"custom": {}
},
"events": [
{
"id": 360000700889,
"type": "Change",
"value": "high",
"field_name": "priority",
"previous_value": "normal"
}
],
"via": {
"channel": "api",
"source": {
"from": {},
"to": {},
"rel": null
}
}
}
],
"nextPageCursor": null
}Provider API: Zendesk Support API (v2).
Authorizations
Your Paragon User Token (JWT), which you can generate using your project's signing keys.
Path Parameters
Your Paragon Project ID. You can copy your Project ID from your dashboard URL or by clicking Copy Project ID under the Environment switcher.
Body
application/json
Response
200 - application/json
A page of ticket audits, for one ticket if ticketId is given and for the account otherwise. Each audit lists the events that changed the ticket. nextPageCursor is the Zendesk after_cursor when more results are available and null on the last page. Pass it as paginationParameters.pageCursor to load the next page.