Skip to main content
POST
Register a campaign lead

Query Parameters

workspaceId
string | null

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

application/json

Wire contract for POST api/v1/leadscout/campaign-leads.

workspaceId
string
required
captureKey
string
required
cellphone
string
required
landingUri
string
required

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.

recaptchaToken
string
required
name
string | null
brandId
string | null
utm
Utm · object

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".

requestId
string
required

Correlation id for this submission. Present on acceptance only; error responses do not carry one.