Campaigns
A campaign defines the characteristics of companies you want to target and the outreach sequences used to engage them. Coldreach continuously monitors your campaign criteria, identifies qualified accounts along with specific signals (buying indicators), and automates multi-step outreach workflows across email and LinkedIn.
How Campaigns Work
- Define your campaign — Set up research queries that define what makes a company a good fit
- Automatic research — Coldreach researches companies against your campaign criteria
- Signal detection — When a company matches, the specific signals are recorded with scores
- Qualified accounts — Browse and export accounts that match your campaign
- Outreach sequences — Automate multi-channel outreach to qualified accounts
API Endpoints
List campaigns
curl -H "x-api-key: YOUR_API_KEY" \
https://api.coldreach.ai/public/v1/campaigns
Get campaign details
curl -H "x-api-key: YOUR_API_KEY" \
https://api.coldreach.ai/public/v1/campaigns/456
Get qualified accounts for a campaign
curl -H "x-api-key: YOUR_API_KEY" \
"https://api.coldreach.ai/public/v1/campaigns/123/accounts?from=0&take=25"
Browse campaign contacts
Filter by status: scheduled, in-progress, completed, replied, bounced, unsubscribed.
curl -H "x-api-key: YOUR_API_KEY" \
"https://api.coldreach.ai/public/v1/campaigns/456/contacts?status=replied&take=50"
View message history
curl -H "x-api-key: YOUR_API_KEY" \
"https://api.coldreach.ai/public/v1/campaigns/456/messages?skip=0&take=25"
Look up a specific account
curl -H "x-api-key: YOUR_API_KEY" \
"https://api.coldreach.ai/public/v1/accounts?domain=example.com&icpId=123"
Reply to an assignment
curl -X POST -H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"body": "Thanks for your interest!"}' \
https://api.coldreach.ai/public/v1/assignments/789/reply
Raw Sequence Operations
Raw operations let you push contacts directly into a campaign's sequence with your own messaging content, bypassing Coldreach's AI generation. These are designed for external callers who manage their own outreach copy.
Upsert contacts into a sequence
Push contacts into a campaign with pre-provided snippet variables. By default, ineligible contacts are automatically filtered out (cooldown, replied, blocked, etc.).
curl -X POST -H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contacts": [
{
"email": "[email protected]",
"firstName": "John",
"companyDomain": "example.com",
"variables": {"intro_line": "Noticed you are hiring..."}
}
],
"triggerIntake": true,
"skipIneligible": true,
"bypassCooldownOtherSequences": false,
"bypassGlobalExcluded": false,
"takeoverUnapproved": false
}' \
https://api.coldreach.ai/public/v1/campaigns/456/raw/contacts
Eligibility options
| Field | Default | Description |
|---|---|---|
skipIneligible | true | Automatically skip contacts that fail eligibility checks. Set to false to push all contacts regardless. |
bypassCooldownOtherSequences | false | Ignore cooldown from other sequences (same-sequence cooldown is always enforced). |
bypassGlobalExcluded | false | Ignore global domain/email exclusions. |
takeoverUnapproved | false | Allow adding contacts that have unapproved assignments in other sequences. |
When skipIneligible is true, ineligible contacts are reported in the response:
{
"created": 1,
"updated": 0,
"skipped": 0,
"assignmentIds": [123],
"errors": [],
"skippedContacts": [
{"email": "[email protected]", "reasons": ["cooldown_other_sequences"]}
]
}
Check contact eligibility
Dry-run eligibility check without creating any assignments. Useful for previewing which contacts would be filtered before pushing.
curl -X POST -H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"emails": ["[email protected]", "[email protected]"],
"bypassCooldownOtherSequences": false,
"bypassGlobalExcluded": false,
"takeoverUnapproved": false
}' \
https://api.coldreach.ai/public/v1/campaigns/456/raw/contacts/check-eligibility
Returns per-contact eligibility with reasons:
{
"results": [
{"email": "[email protected]", "eligible": true, "reasons": []},
{"email": "[email protected]", "eligible": false, "reasons": ["cooldown_other_sequences"]}
],
"summary": {
"total": 2, "eligible": 1, "ineligible": 1,
"cooldown_same_sequence": 0, "cooldown_other_sequences": 1,
"unapproved": 0, "replied": 0, "blocked": 0, "globally_excluded": 0
}
}
Ineligibility reasons
| Reason | Description |
|---|---|
cooldown_same_sequence | Contact is active or recently completed in this sequence |
cooldown_other_sequences | Contact is in cooldown from another sequence (same channel) |
unapproved | Contact has unapproved assignments in other sequences |
replied | Contact has replied to previous outreach |
blocked | Contact is marked as blocked |
globally_excluded | Contact's email or company domain is on the exclusion list |
See the API Reference for complete request/response details.