Get User By ID
curl --request POST \
--url 'https://actionkit.useparagon.com/projects/{project_id}/tools/#ZENDESK_GET_USER_BY_ID' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"tool": "ZENDESK_GET_USER_BY_ID",
"parameters": {
"userId": "<string>"
}
}
'import requests
url = "https://actionkit.useparagon.com/projects/{project_id}/tools/#ZENDESK_GET_USER_BY_ID"
payload = {
"tool": "ZENDESK_GET_USER_BY_ID",
"parameters": { "userId": "<string>" }
}
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_USER_BY_ID', parameters: {userId: '<string>'}})
};
fetch('https://actionkit.useparagon.com/projects/{project_id}/tools/#ZENDESK_GET_USER_BY_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://actionkit.useparagon.com/projects/{project_id}/tools/#ZENDESK_GET_USER_BY_ID",
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_USER_BY_ID',
'parameters' => [
'userId' => '<string>'
]
]),
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_USER_BY_ID"
payload := strings.NewReader("{\n \"tool\": \"ZENDESK_GET_USER_BY_ID\",\n \"parameters\": {\n \"userId\": \"<string>\"\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_USER_BY_ID")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"tool\": \"ZENDESK_GET_USER_BY_ID\",\n \"parameters\": {\n \"userId\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://actionkit.useparagon.com/projects/{project_id}/tools/#ZENDESK_GET_USER_BY_ID")
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_USER_BY_ID\",\n \"parameters\": {\n \"userId\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"user": {
"id": 360000020441,
"url": "https://example.zendesk.com/api/v2/users/360000020441.json",
"name": "Docs Test User",
"email": "[email protected]",
"created_at": "2026-10-16T05:54:36Z",
"updated_at": "2026-10-16T05:54:36Z",
"time_zone": "America/New_York",
"iana_time_zone": "America/New_York",
"phone": null,
"shared_phone_number": null,
"photo": null,
"locale_id": 1,
"locale": "en-US",
"organization_id": null,
"role": "end-user",
"verified": false,
"external_id": null,
"tags": [],
"alias": null,
"active": true,
"shared": false,
"shared_agent": false,
"last_login_at": null,
"two_factor_auth_enabled": null,
"signature": null,
"details": null,
"notes": null,
"role_type": null,
"custom_role_id": null,
"is_billing_admin": null,
"moderator": false,
"ticket_restriction": "requested",
"only_private_comments": false,
"restricted_agent": false,
"suspended": false,
"default_group_id": null,
"report_csv": false,
"user_fields": {}
}
}Tools
Get User By ID
POST
/
projects
/
{project_id}
/
tools
/
#ZENDESK_GET_USER_BY_ID
Get User By ID
curl --request POST \
--url 'https://actionkit.useparagon.com/projects/{project_id}/tools/#ZENDESK_GET_USER_BY_ID' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"tool": "ZENDESK_GET_USER_BY_ID",
"parameters": {
"userId": "<string>"
}
}
'import requests
url = "https://actionkit.useparagon.com/projects/{project_id}/tools/#ZENDESK_GET_USER_BY_ID"
payload = {
"tool": "ZENDESK_GET_USER_BY_ID",
"parameters": { "userId": "<string>" }
}
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_USER_BY_ID', parameters: {userId: '<string>'}})
};
fetch('https://actionkit.useparagon.com/projects/{project_id}/tools/#ZENDESK_GET_USER_BY_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://actionkit.useparagon.com/projects/{project_id}/tools/#ZENDESK_GET_USER_BY_ID",
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_USER_BY_ID',
'parameters' => [
'userId' => '<string>'
]
]),
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_USER_BY_ID"
payload := strings.NewReader("{\n \"tool\": \"ZENDESK_GET_USER_BY_ID\",\n \"parameters\": {\n \"userId\": \"<string>\"\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_USER_BY_ID")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"tool\": \"ZENDESK_GET_USER_BY_ID\",\n \"parameters\": {\n \"userId\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://actionkit.useparagon.com/projects/{project_id}/tools/#ZENDESK_GET_USER_BY_ID")
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_USER_BY_ID\",\n \"parameters\": {\n \"userId\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"user": {
"id": 360000020441,
"url": "https://example.zendesk.com/api/v2/users/360000020441.json",
"name": "Docs Test User",
"email": "[email protected]",
"created_at": "2026-10-16T05:54:36Z",
"updated_at": "2026-10-16T05:54:36Z",
"time_zone": "America/New_York",
"iana_time_zone": "America/New_York",
"phone": null,
"shared_phone_number": null,
"photo": null,
"locale_id": 1,
"locale": "en-US",
"organization_id": null,
"role": "end-user",
"verified": false,
"external_id": null,
"tags": [],
"alias": null,
"active": true,
"shared": false,
"shared_agent": false,
"last_login_at": null,
"two_factor_auth_enabled": null,
"signature": null,
"details": null,
"notes": null,
"role_type": null,
"custom_role_id": null,
"is_billing_admin": null,
"moderator": false,
"ticket_restriction": "requested",
"only_private_comments": false,
"restricted_agent": false,
"suspended": false,
"default_group_id": null,
"report_csv": false,
"user_fields": {}
}
}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
The Zendesk Support API response for a single user. The user is wrapped in user. The fields depend on your Zendesk account configuration, including user fields.
Was this page helpful?