Contacts
Get contact engagement score
Returns the contact’s current engagement score (0–100) and tier. The score is computed from opens, clicks, and negative signals (bounces, complaints) in the last 90 days. Returns 204 when no send history exists yet.
Requirements
- Permission:
contacts:read. - Project access: the path project must match the API key’s project.
- HTTP rate limit: 200 requests per 60 seconds per API key.
GET
/
v1
/
projects
/
{projectId}
/
contacts
/
{contactId}
/
engagement
TypeScript
import { createApolloSignalApiClient } from "@apollo-deploy/signal-sdk";
const signal = createApolloSignalApiClient({ apiKey: "ap_signal_..." });
const result = await signal.contacts.getContactEngagementScore(/* params */);
console.log(result);from apollo_signal import SignalClient
signal = SignalClient(api_key="ap_signal_...")
result = signal.contacts.getContactEngagementScore(# params)
print(result)import signal "github.com/apollo-deploy/signal-sdk-go"
client := signal.NewClient("ap_signal_...")
result, err := client.Contacts.GetContactEngagementScore(context.Background() /* params */)
if err != nil {
log.Fatal(err)
}
fmt.Println(result)import com.apollodeploy.signal.SignalClient;
SignalClient signal = new SignalClient("ap_signal_...");
var result = signal.contacts().getContactEngagementScore(/* params */);
System.out.println(result);import com.apollodeploy.signal.SignalClient
val signal = SignalClient("ap_signal_...")
val result = signal.contacts.getContactEngagementScore(/* params */)
println(result)require "apollo_signal"
signal = ApolloSignal::Client.new(api_key: "ap_signal_...")
result = signal.contacts.getContactEngagementScore(# params)
puts resultuse ApolloSignal\SignalClient;
$signal = new SignalClient("ap_signal_...");
$result = $signal->contacts->getContactEngagementScore(/* params */);
var_dump($result);use apollo_signal::SignalClient;
let signal = SignalClient::new("ap_signal_...");
let result = signal.contacts.getContactEngagementScore(/* params */).await?;
println!("{:?}", result);using ApolloSignal;
var signal = new SignalClient("ap_signal_...");
var result = await signal.Contacts.GetContactEngagementScoreAsync(/* params */);
Console.WriteLine(result);curl --request GET \
--url https://api.signal.apollodeploy.com/v1/projects/{projectId}/contacts/{contactId}/engagement \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.signal.apollodeploy.com/v1/projects/{projectId}/contacts/{contactId}/engagement', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"object": "<string>",
"score": 123,
"scoredAt": "<string>",
"tier": "<string>"
}{
"code": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>",
"detail": "<string>",
"errors": [
{
"detail": "<string>",
"pointer": "<string>"
}
],
"instance": "<string>",
"requestId": "<string>"
}{
"code": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>",
"detail": "<string>",
"errors": [
{
"detail": "<string>",
"pointer": "<string>"
}
],
"instance": "<string>",
"requestId": "<string>"
}{
"code": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>",
"detail": "<string>",
"errors": [
{
"detail": "<string>",
"pointer": "<string>"
}
],
"instance": "<string>",
"requestId": "<string>"
}{
"code": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>",
"detail": "<string>",
"errors": [
{
"detail": "<string>",
"pointer": "<string>"
}
],
"instance": "<string>",
"requestId": "<string>"
}Authorizations
Project-bound Apollo Signal API key. Keys begin with ap_signal_ and must carry the permission shown on the operation.
Path Parameters
Project identifier. For API-key authentication, it must match the project bound to the key.
Contact identifier in this project.
Was this page helpful?
⌘I
TypeScript
import { createApolloSignalApiClient } from "@apollo-deploy/signal-sdk";
const signal = createApolloSignalApiClient({ apiKey: "ap_signal_..." });
const result = await signal.contacts.getContactEngagementScore(/* params */);
console.log(result);from apollo_signal import SignalClient
signal = SignalClient(api_key="ap_signal_...")
result = signal.contacts.getContactEngagementScore(# params)
print(result)import signal "github.com/apollo-deploy/signal-sdk-go"
client := signal.NewClient("ap_signal_...")
result, err := client.Contacts.GetContactEngagementScore(context.Background() /* params */)
if err != nil {
log.Fatal(err)
}
fmt.Println(result)import com.apollodeploy.signal.SignalClient;
SignalClient signal = new SignalClient("ap_signal_...");
var result = signal.contacts().getContactEngagementScore(/* params */);
System.out.println(result);import com.apollodeploy.signal.SignalClient
val signal = SignalClient("ap_signal_...")
val result = signal.contacts.getContactEngagementScore(/* params */)
println(result)require "apollo_signal"
signal = ApolloSignal::Client.new(api_key: "ap_signal_...")
result = signal.contacts.getContactEngagementScore(# params)
puts resultuse ApolloSignal\SignalClient;
$signal = new SignalClient("ap_signal_...");
$result = $signal->contacts->getContactEngagementScore(/* params */);
var_dump($result);use apollo_signal::SignalClient;
let signal = SignalClient::new("ap_signal_...");
let result = signal.contacts.getContactEngagementScore(/* params */).await?;
println!("{:?}", result);using ApolloSignal;
var signal = new SignalClient("ap_signal_...");
var result = await signal.Contacts.GetContactEngagementScoreAsync(/* params */);
Console.WriteLine(result);curl --request GET \
--url https://api.signal.apollodeploy.com/v1/projects/{projectId}/contacts/{contactId}/engagement \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.signal.apollodeploy.com/v1/projects/{projectId}/contacts/{contactId}/engagement', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"object": "<string>",
"score": 123,
"scoredAt": "<string>",
"tier": "<string>"
}{
"code": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>",
"detail": "<string>",
"errors": [
{
"detail": "<string>",
"pointer": "<string>"
}
],
"instance": "<string>",
"requestId": "<string>"
}{
"code": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>",
"detail": "<string>",
"errors": [
{
"detail": "<string>",
"pointer": "<string>"
}
],
"instance": "<string>",
"requestId": "<string>"
}{
"code": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>",
"detail": "<string>",
"errors": [
{
"detail": "<string>",
"pointer": "<string>"
}
],
"instance": "<string>",
"requestId": "<string>"
}{
"code": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>",
"detail": "<string>",
"errors": [
{
"detail": "<string>",
"pointer": "<string>"
}
],
"instance": "<string>",
"requestId": "<string>"
}