Get Contact
curl --request GET \
--url https://api.example.com/api/v1/contact-lists/{listId}/contacts/{id}import requests
url = "https://api.example.com/api/v1/contact-lists/{listId}/contacts/{id}"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/api/v1/contact-lists/{listId}/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://api.example.com/api/v1/contact-lists/{listId}/contacts/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.example.com/api/v1/contact-lists/{listId}/contacts/{id}"
req, _ := http.NewRequest("GET", url, nil)
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.example.com/api/v1/contact-lists/{listId}/contacts/{id}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/contact-lists/{listId}/contacts/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"id": "<string>",
"email": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"phoneNumber": "<string>",
"customFields": {},
"status": "<string>",
"source": "<string>",
"createdAt": "<string>",
"updatedAt": "<string>",
"subscribedAt": "<string>",
"unsubscribedAt": "<string>",
"consentType": "<string>",
"consentSource": "<string>",
"consentTimestamp": "<string>",
"consentIpAddress": "<string>"
}Contacts
Get Contact
Retrieve a specific contact
GET
/
api
/
v1
/
contact-lists
/
{listId}
/
contacts
/
{id}
Get Contact
curl --request GET \
--url https://api.example.com/api/v1/contact-lists/{listId}/contacts/{id}import requests
url = "https://api.example.com/api/v1/contact-lists/{listId}/contacts/{id}"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/api/v1/contact-lists/{listId}/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://api.example.com/api/v1/contact-lists/{listId}/contacts/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.example.com/api/v1/contact-lists/{listId}/contacts/{id}"
req, _ := http.NewRequest("GET", url, nil)
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.example.com/api/v1/contact-lists/{listId}/contacts/{id}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/contact-lists/{listId}/contacts/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"id": "<string>",
"email": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"phoneNumber": "<string>",
"customFields": {},
"status": "<string>",
"source": "<string>",
"createdAt": "<string>",
"updatedAt": "<string>",
"subscribedAt": "<string>",
"unsubscribedAt": "<string>",
"consentType": "<string>",
"consentSource": "<string>",
"consentTimestamp": "<string>",
"consentIpAddress": "<string>"
}Get detailed information about a specific contact by its ID.
Path Parameters
string
required
The unique list ID (e.g.,
lst_abc123).string
required
The unique contact ID (e.g.,
cnt_abc123).Examples
import { MailBreeze } from "mailbreeze";
const mailbreeze = new MailBreeze({ apiKey: "sk_live_xxx" });
const contacts = mailbreeze.contacts("lst_abc123");
const contact = await contacts.get("cnt_abc123");
console.log(contact.email); // "john@example.com"
console.log(contact.status); // "active"
console.log(contact.customFields); // { plan: "pro", company: "Acme" }
from mailbreeze import MailBreeze
client = MailBreeze(api_key="sk_live_xxx")
contacts = client.contacts("lst_abc123")
contact = await contacts.get("cnt_abc123")
print(contact.email) # "john@example.com"
print(contact.status) # "active"
print(contact.custom_fields) # {"plan": "pro", "company": "Acme"}
client := mailbreeze.NewClient("sk_live_xxx")
contacts := client.Contacts("lst_abc123")
contact, err := contacts.Get(ctx, "cnt_abc123")
if err != nil {
log.Fatal(err)
}
fmt.Println(contact.Email) // "john@example.com"
fmt.Println(contact.Status) // "active"
fmt.Println(contact.CustomFields) // map[plan:pro company:Acme]
$mailbreeze = new MailBreeze('sk_live_xxx');
$response = $mailbreeze->contacts->get('lst_abc123', 'cnt_abc123');
$contact = $response['data'];
echo $contact['email']; // "john@example.com"
echo $contact['status']; // "active"
print_r($contact['customFields']); // ["plan" => "pro", "company" => "Acme"]
let client = Client::new("sk_live_xxx");
let contacts = client.contacts("lst_abc123");
let contact = contacts.get("cnt_abc123").await?;
println!("{}", contact.email); // "john@example.com"
println!("{}", contact.status); // "active"
curl "https://api.mailbreeze.com/api/v1/contact-lists/694fc1669e63563857ae8d72/contacts/8f1701be-0d2a-4519-999c-0574a3d68668" \
-H "Authorization: Bearer sk_live_xxx"
Response
string
Unique contact ID.
string
Contact’s email address.
string
Contact’s first name.
string
Contact’s last name.
string
Contact’s phone number.
object
Custom field values.
string
Contact status:
active, unsubscribed, bounced, complained, or suppressed.string
Acquisition source.
string
ISO 8601 timestamp when created.
string
ISO 8601 timestamp when last updated.
string
ISO 8601 timestamp when subscribed.
string
ISO 8601 timestamp when unsubscribed (if applicable).
string
Type of consent:
explicit, implicit, or legitimate_interest.string
Where consent was collected.
string
ISO 8601 timestamp when consent was given.
string
IP address from which consent was given.
Example Response
{
"success": true,
"data": {
"id": "8f1701be-0d2a-4519-999c-0574a3d68668",
"domainId": "6911cf4253eb3ff3b4de6215",
"contactListId": "694fc1669e63563857ae8d72",
"email": "user@example.com",
"firstName": "John",
"lastName": "Doe",
"customFields": {},
"status": "active",
"source": "console",
"subscriptionToken": "b839501cb01ca878a01bd2d8d947ad3350b53afbf5370d3b3e1999c958ce309a",
"createdAt": "2025-12-27T12:36:25.458Z",
"updatedAt": "2025-12-27T12:36:26.851Z"
},
"meta": {
"timestamp": "2025-12-27T13:45:00.000Z",
"requestId": "abc123-def456",
"path": "/api/v1/contact-lists/694fc1669e63563857ae8d72/contacts/8f1701be-0d2a-4519-999c-0574a3d68668"
}
}
Errors
| Code | HTTP Status | Description |
|---|---|---|
CONTACT_NOT_FOUND | 404 | Contact with this ID doesn’t exist |
LIST_NOT_FOUND | 404 | List with this ID doesn’t exist |