Get contact by id
curl --request GET \
--url https://your-instance.example.com/api/contacts/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://your-instance.example.com/api/contacts/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://your-instance.example.com/api/contacts/{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-instance.example.com/api/contacts/{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 => [
"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://your-instance.example.com/api/contacts/{id}"
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://your-instance.example.com/api/contacts/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://your-instance.example.com/api/contacts/{id}")
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{
"success": true,
"data": {
"_id": "64f0a1b2c3d4e5f6a7b8c9d0",
"firstName": "Jane",
"lastName": "Doe",
"phoneNumber": [
{
"value": "+14165550100",
"isPrimary": true
}
]
}
}{
"success": false,
"message": "Contact not found",
"error": {
"code": "NOT_FOUND",
"message": "Contact not found"
}
}Contacts
Get contact by id
Returns the full Contact document for the given id, scoped to the caller’s organization (SUPERADMIN bypasses the scope). Used by the contact detail panel and deep links.
GET
/
api
/
contacts
/
{id}
Get contact by id
curl --request GET \
--url https://your-instance.example.com/api/contacts/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://your-instance.example.com/api/contacts/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://your-instance.example.com/api/contacts/{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-instance.example.com/api/contacts/{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 => [
"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://your-instance.example.com/api/contacts/{id}"
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://your-instance.example.com/api/contacts/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://your-instance.example.com/api/contacts/{id}")
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{
"success": true,
"data": {
"_id": "64f0a1b2c3d4e5f6a7b8c9d0",
"firstName": "Jane",
"lastName": "Doe",
"phoneNumber": [
{
"value": "+14165550100",
"isPrimary": true
}
]
}
}{
"success": false,
"message": "Contact not found",
"error": {
"code": "NOT_FOUND",
"message": "Contact not found"
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Response
Contact returned
Available options:
true Show child attributes
Show child attributes
Example:
{ "_id": "64f0a1b2c3d4e5f6a7b8c9d0", "firstName": "Jane", "lastName": "Doe", "phoneNumber": [ { "value": "+14165550100", "isPrimary": true } ], "secondaryPhoneNumber": [], "email": "jane.doe@example.com", "status": "New Lead", "pipelineId": "64f0a1b2c3d4e5f6a7b8c9d1", "pipelineStage": "64f0a1b2c3d4e5f6a7b8c9d2", "organizationId": "64f0a1b2c3d4e5f6a7b8c9d3", "userId": "64f0a1b2c3d4e5f6a7b8c9d4", "createdBy": "64f0a1b2c3d4e5f6a7b8c9d4", "assignees": ["64f0a1b2c3d4e5f6a7b8c9d4"], "createdAt": "2026-05-01T14:30:00.000Z", "updatedAt": "2026-05-15T09:12:00.000Z" }
⌘I