List CRM People
List CRM person records in a workspace with the Zeeg CRM API, returning paginated, sortable results that include each contact’s custom attributes
curl --request GET \
--url https://api.zeeg.me/v2/crm/people \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.zeeg.me/v2/crm/people"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.zeeg.me/v2/crm/people', 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://api.zeeg.me/v2/crm/people",
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://api.zeeg.me/v2/crm/people"
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://api.zeeg.me/v2/crm/people")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.zeeg.me/v2/crm/people")
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,
"status": 200,
"data": {
"pagination": {
"totalItems": 1,
"perPage": 10,
"currentPage": 1,
"lastPage": 1,
"hasPreviousPage": false,
"hasNextPage": false
},
"people": [
{
"id": "b2c3d4e5-f6a7-8901-bcde-f23456789012",
"firstName": "Jane",
"lastName": "Doe",
"salutation": null,
"emails": [
"jane.doe@acme.com"
],
"jobTitle": "Head of Product",
"description": null,
"phoneNumber": null,
"primaryLocation": null,
"avatarUrl": null,
"company": null,
"socials": {
"linkedin": null,
"twitter": null,
"facebook": null,
"instagram": null
},
"customAttributes": {},
"createdAt": "2025-01-15T09:00:00+00:00",
"updatedAt": "2025-01-15T09:00:00+00:00"
}
]
}
}{
"message": "Unauthenticated."
}{
"success": true,
"message": "<string>",
"status": 123
}created_at ascending by default. Use sortBy and sortOrder to change the sort.
customAttributes.Authorizations
Query Parameters
Page number.
x >= 1Number of records per page.
1 <= x <= 100Field to sort by.
Sort direction.
asc, desc Response
OK
true
200
Hide child attributes
Hide child attributes
Hide child attributes
Hide child attributes
Unique identifier for the person record.
"b2c3d4e5-f6a7-8901-bcde-f23456789012"
First name.
"Jane"
Last name.
"Doe"
Salutation or title (e.g. Mr, Ms, Dr).
"Ms"
List of email addresses. The first entry is the primary email.
["jane.doe@acme.com"]Job title or role.
"Head of Product"
Free-text description or notes about the person.
"Key decision-maker at Acme Corp."
Primary phone number.
"+4930123456789"
Primary location or city.
"Berlin, Germany"
URL of the person's avatar image.
null
Key/value pairs for custom attributes defined on the people object.
{}ISO 8601 timestamp when the record was created.
"2025-01-15T09:00:00+00:00"
ISO 8601 timestamp when the record was last updated.
"2025-06-01T12:00:00+00:00"
curl --request GET \
--url https://api.zeeg.me/v2/crm/people \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.zeeg.me/v2/crm/people"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.zeeg.me/v2/crm/people', 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://api.zeeg.me/v2/crm/people",
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://api.zeeg.me/v2/crm/people"
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://api.zeeg.me/v2/crm/people")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.zeeg.me/v2/crm/people")
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,
"status": 200,
"data": {
"pagination": {
"totalItems": 1,
"perPage": 10,
"currentPage": 1,
"lastPage": 1,
"hasPreviousPage": false,
"hasNextPage": false
},
"people": [
{
"id": "b2c3d4e5-f6a7-8901-bcde-f23456789012",
"firstName": "Jane",
"lastName": "Doe",
"salutation": null,
"emails": [
"jane.doe@acme.com"
],
"jobTitle": "Head of Product",
"description": null,
"phoneNumber": null,
"primaryLocation": null,
"avatarUrl": null,
"company": null,
"socials": {
"linkedin": null,
"twitter": null,
"facebook": null,
"instagram": null
},
"customAttributes": {},
"createdAt": "2025-01-15T09:00:00+00:00",
"updatedAt": "2025-01-15T09:00:00+00:00"
}
]
}
}{
"message": "Unauthenticated."
}{
"success": true,
"message": "<string>",
"status": 123
}