> ## Documentation Index
> Fetch the complete documentation index at: https://snowseo.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Queue Pitches

> Queue approved email copy for selected prospect contacts.

<Warning>
  This endpoint schedules real email to real people. Messages cannot be recalled once sent. Use `sendNow` only when immediate sending was explicitly requested.
</Warning>

Pass up to 200 `items`, each with a `prospectEmailId`, `subject`, and Markdown `body`. Find the address IDs with [Outreach Contacts](/docs/api-reference/endpoints/outreach-contacts#list-a-prospects-addresses). Optionally choose one `sendingAccountId`; omit it to rotate across connected mailboxes.

The response reports `queued`, `updated`, `skipped`, `sendNow`, and `spacingMs`. Compare these counts with the items supplied: incomplete or invalid entries are skipped, and queueing an address already in the queue updates its unsent copy rather than sending a duplicate. A batch is paced even when `sendNow` is true; immediate sending is limited to one new recipient.

Use [Outreach Sending](/docs/api-reference/endpoints/outreach-sending#list-queued-pitches) to review messages still in the queue. Those can be removed before sending.


## OpenAPI

````yaml POST /v3/outreach/outbox/queue
openapi: 3.0.0
info:
  title: SnowSEO API
  description: API documentation for SnowSEO
  version: 1.0.0
servers:
  - url: https://api.snowseo.com
    description: Production server
security: []
tags:
  - name: Keywords
    description: Keyword research and suggestion end-points
  - name: Onboarding
    description: Brand onboarding and strategy end-points
  - name: Brands
    description: Brand management end-points
  - name: Organizations
    description: Organization and member end-points
  - name: Integrations
    description: Google Search Console and other integrations
  - name: Utilities
    description: Common utility end-points like screenshots and uploads
externalDocs:
  url: https://snowseo.com/docs
  description: Find more info here
paths:
  /v3/outreach/outbox/queue:
    post:
      tags:
        - Outreach
      summary: Queue outreach pitches for sending
      description: >-
        **Sends real email to real people.** Queues one pitch per contact; with
        sendNow they go out immediately, otherwise they are paced across the
        mailbox's daily limit. This cannot be undone once a message leaves - use
        outreach_queued and the unqueue endpoint to pull back anything still
        waiting. Write the subject and body yourself, one per contact,
        personalised to the page named on the prospect. Get contact IDs from
        outreach_prospect_emails; an address that is not on one of this team's
        prospects is rejected. Queueing the same contact twice is a no-op, so a
        retry cannot double-send. Items missing a subject, a body or a valid
        contact are skipped rather than failing the batch, and the call only
        errors if nothing at all could be queued - so compare the returned count
        against what you sent.
      operationId: queueOutreachEmails
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - items
              properties:
                items:
                  type: array
                  minItems: 1
                  maxItems: 200
                  description: One entry per recipient.
                  items:
                    type: object
                    properties:
                      prospectEmailId:
                        type: string
                        description: >-
                          Contact address ID from outreach_prospect_emails. Must
                          belong to a prospect this team owns. An entry without
                          one is skipped.
                      subject:
                        type: string
                        description: >-
                          Subject line for this recipient, truncated past 500
                          characters. Merge variables are already resolved by
                          the caller.
                      body:
                        type: string
                        description: >-
                          Body for this recipient, truncated past 50000
                          characters. Markdown is rendered; newlines are kept as
                          written, so write it the way it should read.
                      prospectId:
                        type: string
                        description: >-
                          Ignored. The prospect is resolved from prospectEmailId
                          so a crafted body cannot attach a contact to someone
                          else's row.
                sendNow:
                  type: boolean
                  description: >-
                    Send immediately instead of pacing across the daily limit.
                    Leave false unless the user asked for it.
                sendingAccountId:
                  type: string
                  description: >-
                    Send from one specific mailbox. Omit to rotate across all
                    connected mailboxes.
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  queued:
                    type: integer
                  queuedConversationIds:
                    type: array
                    items:
                      type: string
                    description: >-
                      Newly queued conversation IDs. Read their delivery status
                      from the outbox emails list; these are not worker job IDs.
                  updated:
                    type: integer
                  skipped:
                    type: integer
                  sendNow:
                    type: boolean
                  spacingMs:
                    type: number
                additionalProperties: true

````