Documentation

DocsAPI ReferenceContacts

Contacts API

GET/v1/contacts

List contacts with pagination.

TypeScript
const contacts = await client.listContacts({ limit: 100 });
curl
curl "https://api.outreachagent.dev/v1/contacts?limit=100" \
  -H "Authorization: Bearer $OUTREACHAGENT_API_KEY"
POST/v1/contacts

Create a new contact.

ParameterTypeRequiredDescription
emailstringYesContact email address
fullNamestringYesContact full name
attributesobjectNoCustom key-value pairs (string, number, boolean, or null). Available in templates as {{ contact.attributes.<key> }}
segmentIdsstring[]NoArray of segment IDs to add the contact to
TypeScript
const contact = await client.createContact({
  email: "jane@company.com",
  fullName: "Jane Doe",
  attributes: { company: "Acme Corp", role: "CTO", teamSize: 25 },
  segmentIds: ["seg_enterprise"]
});
curl
curl -X POST https://api.outreachagent.dev/v1/contacts \
  -H "Authorization: Bearer $OUTREACHAGENT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"email": "jane@company.com", "fullName": "Jane Doe", "attributes": {"company": "Acme Corp", "role": "CTO", "teamSize": 25}, "segmentIds": ["seg_enterprise"]}'
GET/v1/contacts/:contactId

Get contact details.

TypeScript
const contact = await client.getContact("con_abc123");
curl
curl https://api.outreachagent.dev/v1/contacts/con_abc123 \
  -H "Authorization: Bearer $OUTREACHAGENT_API_KEY"
PATCH/v1/contacts/:contactId

Update contact info.

ParameterTypeRequiredDescription
fullNamestringNoUpdated full name
emailstringNoUpdated email
attributesobjectNoCustom key-value pairs (replaces existing attributes)
segmentIdsstring[]NoUpdated segment IDs
TypeScript
const updated = await client.updateContact("con_abc123", {
  fullName: "Jane Smith",
  attributes: { company: "Acme Corp", role: "VP Engineering" }
});
curl
curl -X PATCH https://api.outreachagent.dev/v1/contacts/con_abc123 \
  -H "Authorization: Bearer $OUTREACHAGENT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"fullName": "Jane Smith", "attributes": {"company": "Acme Corp", "role": "VP Engineering"}}'
DELETE/v1/contacts/:contactId

Delete a contact.

TypeScript
await client.deleteContact("con_abc123");
curl
curl -X DELETE https://api.outreachagent.dev/v1/contacts/con_abc123 \
  -H "Authorization: Bearer $OUTREACHAGENT_API_KEY"

POST/v1/contacts/:contactId/verify

Verify a contact's email address. Returns the risk assessment.

TypeScript
const result = await client.verifyContact("con_abc123");
console.log(result.emailRisk); // "valid" | "risky" | "invalid" | "catch_all" | "unknown"
curl
curl -X POST https://api.outreachagent.dev/v1/contacts/con_abc123/verify \
  -H "Authorization: Bearer $OUTREACHAGENT_API_KEY"
POST/v1/contacts/verify-bulk

Verify multiple contacts at once.

ParameterTypeRequiredDescription
contactIdsstring[]YesArray of contact IDs
TypeScript
const result = await client.bulkVerifyContacts(["con_1", "con_2"]);
curl
curl -X POST https://api.outreachagent.dev/v1/contacts/verify-bulk \
  -H "Authorization: Bearer $OUTREACHAGENT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"contactIds": ["con_1", "con_2"]}'