---
title: "Prepare exact-comment growth delivery"
method: POST
path: "/outreach/growth-deliveries/prepare"
---

# Prepare exact-comment growth delivery

`POST /outreach/growth-deliveries/prepare`

## Request

- Base URL: `https://api.bamf.ai/v1`
- URL: `https://api.bamf.ai/v1/outreach/growth-deliveries/prepare`
- Auth: HTTP bearer

Persists a preparation-only resource giveaway, newsletter, and booking handoff bound to one exact eligible comment, recipient, account, thread, approval, and artifact revisions. Requires a signed-in BAMF user session and Idempotency-Key. It never calls, sends, or claims delivery through a provider.

## Headers

- `Idempotency-Key` string, required

## Request body

- OutreachGrowthDeliveryPrepareRequest
  - `schema_version` 1, required
  - `tenant_id` string, uuid, required
  - `workspace_id` string, uuid, required
  - `principal_context_ref_id` string, uuid, required
  - `recipient` object, required
    - `recipient_id` string, required
    - `account_id` string, required
    - `thread_id` string, required
  - `eligibility` object, required
    - `evidence_id` string, required
    - `tenant_id` string, uuid, required
    - `workspace_id` string, uuid, required
    - `principal_context_ref_id` string, uuid, required
    - `account_id` string, required
    - `thread_id` string, required
    - `recipient_id` string, required
    - `source_receipt_id` string, required
    - `post_id` string, required
    - `comment_id` string, required
    - `comment_text` string, required
    - `keyword` string, required
    - `captured_at` string, date-time, required
    - `eligible_until` string, date-time, required
  - `artifacts` object[], required
    - `kind` 'resource' | 'newsletter' | 'booking', required
    - `artifact_id` string, required
    - `revision` string, required
  - `approval` object, required
    - `approval_id` string, required
    - `revision` string, required
    - `binding` string, required
    - `approved_at` string, date-time, required
    - `expires_at` string, date-time, required
  - `suppression` object, required
    - `opted_out` boolean, required
    - `checked_at` string, date-time, required
  - `delivery` object, required
    - `delivery_id` string, required
    - `state` 'pending', required
    - `prior_delivery_ids` string[], required

## Response `200`

Prepared receipt with providerMutation and submitted fixed false

- OutreachGrowthDeliveryPrepareResponse
  - `version` 'outreach-growth-delivery-preparation/v1', required
  - `receiptId` string, uuid, required
  - `preparedIntentId` string, uuid, required
  - `replay` boolean, required
  - `state` 'prepared', required
  - `suppressionOutcome` 'clear', required
  - `providerMutation` unknown, required
  - `submitted` unknown, required

## Other responses

- `403`: JWT session required
- `409`: Stale, mismatched, opted-out, duplicate, or idempotency-conflicting request

---

[API](https://skmtc.dev/bamf/apis/bamf-developer-platform-api.md) · [All operations](https://skmtc.dev/bamf/apis/bamf-developer-platform-api/llms.txt) · [OpenAPI document](https://skmtc.dev/bamf/apis/bamf-developer-platform-api/revisions/a390dd3294bd?raw)
