Create a campaign
Creates a campaign in draft status. Use PATCH /:id/status to set it to running.
By platform type:
- Portal (
idealista,fotocasa,metrocuadrado,inmuebles24,zonaprop): Leads are extracted from the real-estate portal on schedule or viaPOST /:id/execute. Includesegmentation.filtersandsegmentation.expectedResults. - CSV import (
csv_import): Upload leads via the dashboard; sent on a drip schedule. Requiressegmentation.batchSize(1–25) andsettings.scheduledHours/Daysbefore goingrunning. - Widget (
widget): Leads arrive from your embedded widget. Only onerunningwidget campaign per workspace.
Documentation Index
Fetch the complete documentation index at: https://docs.hostreach.io/llms.txt
Use this file to discover all available pages before exploring further.
Authorizations
API key (hr_live_... or hr_test_...). Generate from Settings › Workspace › Acceso API.
Body
Campaign platform — determines how leads enter the campaign.
idealista/fotocasa/metrocuadrado/inmuebles24/zonaprop: Portal extraction via scheduled or manual runs.csv_import: Leads uploaded as CSV; sent on a drip schedule. Requiressegmentation.batchSize(1–25) andsettings.scheduledHours/Daysbefore goingrunning.widget: Leads from your embedded widget form. Only onerunningwidget campaign allowed per workspace.
idealista, fotocasa, metrocuadrado, inmuebles24, zonaprop, widget, csv_import "idealista"
Campaign name. Defaults to "Untitled Campaign" if omitted.
255"Valencia — Rent Q3 2026"
Controls what happens after leads are extracted.
extract_only: Scrape leads only; no outreach messages sent.extract_and_contact: Scrape leads and send the configured WhatsApp sequence.
Automatically forced to extract_and_contact for widget and csv_import campaigns.
extract_only, extract_and_contact "extract_and_contact"
Outreach channel to use when sending messages.
whatsapp: WhatsApp Business API (requires connected account).whatsapp-no-api: Manual WhatsApp (no account required).
whatsapp, whatsapp-no-api "whatsapp"
Platform-specific segmentation / filter configuration.
Portal campaigns: { filters: <portal-filter-object>, expectedResults: 50 }. Use GET /platforms/{platform}/filters to discover valid filter keys and GET /platforms/{platform}/locations to look up location values.
CSV import: { batchSize: 10 } — number of leads to contact per scheduled run (1–25). Required before setting status to running.
Widget: leave empty.
{
"filters": {
"operation": "rent",
"location": {
"id": "0-EU-ES-VC-46",
"label": "Valencia"
}
},
"expectedResults": 50
}Scheduling and messaging settings. scheduledHours and scheduledDays are required for csv_import campaigns before setting status to running.