Register a campaign lead
Registers a lead captured by a tenant’s landing page and queues the first outbound WhatsApp message. A 202 means the lead was accepted, not that a message was sent.
Query Parameters
Required when calling from a browser. A CORS preflight carries no body, so the tenant cannot be resolved — and Access-Control-Allow-Origin cannot be echoed — unless the workspace is on the URL. Server-to-server callers do not preflight and may omit it.
Body
Wire contract for POST api/v1/leadscout/campaign-leads.
The tenant's attestation that the visitor gave permission to be messaged.
This is NOT CommercialConsentState, which is our own record of a contact's opt-in
lifecycle. This is a claim arriving from outside, and it is not verifiable by us: it
proves what we were told and when, which is what we would present if a tenant's
portfolio were ever restricted.
Response
Accepted and queued. NOT sent — a separate service transmits the first message later.
Body of the 202 Accepted response.
Named rather than a bare dict[str, str] so the published schema states what the
single field is and what it is for, instead of "an object with string properties".
Correlation id for this submission. Present on acceptance only; error responses do not carry one.