SEND SAFETY PREFLIGHT (CANONICAL). Read-only factual check before any send. eligible_targets is the FINAL safe cohort: it already applies BOTH outreach-local safety and GLOBAL RECIPIENT SAFETY across every Outreach in the workspace, resolved by normalized email. You never need to call another endpoint or union blockers yourself. Per recipient, local_blockers and global_blockers are exposed for diagnostic transparency only. Global blocker codes: global_hard_bounce, global_unsubscribe, global_active_human_conversation, global_meaningful_reply_requires_individual_handling, global_duplicate_recent_send, global_existing_waiting_loop, global_suppression, global_identity_ambiguity. A hard bounce or unsubscribe recorded in ANY Outreach is workspace-level address evidence and blocks reuse elsewhere; an active human conversation discovered in another Outreach blocks generic campaign contact. Identity is never fuzzily merged: an ambiguous address is blocked, not merged. The response also reports autonomous_send_budget, which is INFORMATIONAL only — the budget is enforced transactionally when an execution is recorded. Forbiz never sends; this call changes nothing.

get/outreach/{id}/preflight

Request

  • Base URL: https://forbiz.io/api/public/agent
  • URL: https://forbiz.io/api/public/agent/outreach/{id}/preflight
  • Auth: HTTP bearer

Path parameters

idstring required

Query parameters

externalBatchIdstring

Optional. Checks whether this exact external batch was already recorded for this outreach.

externalSourcestring
sendIntent'initial' | 'follow_up'

Defaults to initial. follow_up changes what counts as a blocker: a prior confirmed send is EXPECTED instead of blocking, but recipients with no confirmed prior send, an already recorded follow-up, a hard bounce, an unsubscribe or a meaningful human response are still blocked. Follow-up intent is never inferred by the server.

previousExecutionIdstring

Required for sendIntent=follow_up unless previousActionId is given. Must reference a recorded execution on this outreach; a follow_up label alone is refused.

previousActionIdstring
followUpStepstring

Optional label of the follow-up step, used to block repeating the same follow-up.

Response

Preflight

effective_statestring
safe_to_sendboolean
external_batch_already_recordedboolean
send_intent'initial' | 'follow_up'
follow_up_groundingobject nullable
eligible_recipient_countinteger
blocked_recipient_countinteger
warning_recipient_countinteger
blockersstring[]
eligible_targetsobject[]
sendable_countinteger

Legacy alias of eligible_recipient_count.

blocked_countinteger
preventionobject
sendable_targetsobject[]
blocked_targetsobject[]

Changes

No recorded changes to this operation across all 1 revision of this API.