curl -X GET "https://api.sayvy.ai/api/v1/contacts" \
-H "Authorization: Bearer <token>"
import requests
url = "https://api.sayvy.ai/api/v1/contacts"
headers = {
"Authorization": "Bearer <token>"
}
response = requests.get(url, headers=headers)
print(response.status_code)
print(response.json())
const response = await fetch("https://api.sayvy.ai/api/v1/contacts", {
method: "GET",
headers: {
"Authorization": "Bearer <token>"
}
});
const data = await response.json();
console.log(data);
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.sayvy.ai/api/v1/contacts"))
.header("Authorization", "Bearer <token>")
.GET()
.build();
HttpResponse<String> response =
HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
{
"contacts": [
{
"id": "7b8f9e2a-4c1d-48ef-9123-bcde456789ab",
"organization_id": "93f35dc2-5d46-4e58-a9ee-038c35d9bcf1",
"phone_number": "+14155550199",
"name": "Jane Doe",
"tags": [
"vip",
"enterprise"
],
"notes": "Met at SaaS Summit 2026",
"custom_fields": {
"company": "Acme Corp",
"lead_score": 92
},
"created_at": "2026-09-07T11:00:00Z",
"updated_at": "2026-09-07T11:00:00Z"
},
{
"id": "8c9a0b1c-5d2e-59fa-0234-cdef567890bc",
"organization_id": "93f35dc2-5d46-4e58-a9ee-038c35d9bcf1",
"phone_number": "+14155550200",
"name": "Alex Johnson",
"tags": [
"leads"
],
"notes": null,
"custom_fields": null,
"created_at": "2026-09-07T11:05:00Z",
"updated_at": "2026-09-07T11:05:00Z"
}
]
}
{
"detail": "Unauthorized"
}
Contacts
List contacts
Retrieve all contacts associated with your organization
GET
/
api
/
v1
/
contacts
curl -X GET "https://api.sayvy.ai/api/v1/contacts" \
-H "Authorization: Bearer <token>"
import requests
url = "https://api.sayvy.ai/api/v1/contacts"
headers = {
"Authorization": "Bearer <token>"
}
response = requests.get(url, headers=headers)
print(response.status_code)
print(response.json())
const response = await fetch("https://api.sayvy.ai/api/v1/contacts", {
method: "GET",
headers: {
"Authorization": "Bearer <token>"
}
});
const data = await response.json();
console.log(data);
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.sayvy.ai/api/v1/contacts"))
.header("Authorization", "Bearer <token>")
.GET()
.build();
HttpResponse<String> response =
HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
{
"contacts": [
{
"id": "7b8f9e2a-4c1d-48ef-9123-bcde456789ab",
"organization_id": "93f35dc2-5d46-4e58-a9ee-038c35d9bcf1",
"phone_number": "+14155550199",
"name": "Jane Doe",
"tags": [
"vip",
"enterprise"
],
"notes": "Met at SaaS Summit 2026",
"custom_fields": {
"company": "Acme Corp",
"lead_score": 92
},
"created_at": "2026-09-07T11:00:00Z",
"updated_at": "2026-09-07T11:00:00Z"
},
{
"id": "8c9a0b1c-5d2e-59fa-0234-cdef567890bc",
"organization_id": "93f35dc2-5d46-4e58-a9ee-038c35d9bcf1",
"phone_number": "+14155550200",
"name": "Alex Johnson",
"tags": [
"leads"
],
"notes": null,
"custom_fields": null,
"created_at": "2026-09-07T11:05:00Z",
"updated_at": "2026-09-07T11:05:00Z"
}
]
}
{
"detail": "Unauthorized"
}
Returns the list of all registered contacts for the authenticated organization, including tags, telephone numbers, and custom metadata attributes.
Authentication
This endpoint requires Bearer token authentication.Authorization: Bearer <token>
| Header | Type | Required | Description | Format |
|---|---|---|---|---|
Authorization | string | Yes | Scoped organization API key or Bearer JWT token | Bearer <token> |
Input parameters
string
required
Bearer token for authentication. Format:
Bearer <token>.Response Fields
ContactResponse[]
Array of contact objects:
Show Contact item attributes
Show Contact item attributes
curl -X GET "https://api.sayvy.ai/api/v1/contacts" \
-H "Authorization: Bearer <token>"
import requests
url = "https://api.sayvy.ai/api/v1/contacts"
headers = {
"Authorization": "Bearer <token>"
}
response = requests.get(url, headers=headers)
print(response.status_code)
print(response.json())
const response = await fetch("https://api.sayvy.ai/api/v1/contacts", {
method: "GET",
headers: {
"Authorization": "Bearer <token>"
}
});
const data = await response.json();
console.log(data);
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.sayvy.ai/api/v1/contacts"))
.header("Authorization", "Bearer <token>")
.GET()
.build();
HttpResponse<String> response =
HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
{
"contacts": [
{
"id": "7b8f9e2a-4c1d-48ef-9123-bcde456789ab",
"organization_id": "93f35dc2-5d46-4e58-a9ee-038c35d9bcf1",
"phone_number": "+14155550199",
"name": "Jane Doe",
"tags": [
"vip",
"enterprise"
],
"notes": "Met at SaaS Summit 2026",
"custom_fields": {
"company": "Acme Corp",
"lead_score": 92
},
"created_at": "2026-09-07T11:00:00Z",
"updated_at": "2026-09-07T11:00:00Z"
},
{
"id": "8c9a0b1c-5d2e-59fa-0234-cdef567890bc",
"organization_id": "93f35dc2-5d46-4e58-a9ee-038c35d9bcf1",
"phone_number": "+14155550200",
"name": "Alex Johnson",
"tags": [
"leads"
],
"notes": null,
"custom_fields": null,
"created_at": "2026-09-07T11:05:00Z",
"updated_at": "2026-09-07T11:05:00Z"
}
]
}
{
"detail": "Unauthorized"
}
‹ PreviousNext ›
Update contact
PUT /api/v1/contacts/{contact_id}
Was this page helpful?