---
title: "Draft Message Route"
method: POST
path: "/api/pipeline/deals/{deal_id}/draft-message"
tags: ["pipeline"]
---

# Draft Message Route

`POST /api/pipeline/deals/{deal_id}/draft-message`

## Request

- Base URL: `https://api.every.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.every.ai/api/pipeline/deals/{deal_id}/draft-message`
- Auth: none declared
- TypeScript: <https://skmtc.dev/every/apis/every-api/docs/api/pipeline/deals/:deal_id/draft-message/post.ts> (a function with typed inputs; its response is checked against the schema)

Draft one message now and save it as the plan's next step.

Synchronous (seconds, not the replan job). See
`services.deal_draft_message` for the writer and the step it saves.

## Query parameters

- `user_id` string, nullable
- `org_id` string, nullable

## Request body

- DraftMessageRequest: The channel the owner picked on the deal sheet's Draft control.
  - `channel` 'email' | 'linkedin' | 'twitter' | 'instagram'

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

## Changes

- **2026-11-10** `feda855eca84`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/every/apis/every-api/changes/api/pipeline/deals/:deal_id/draft-message/post.md)

---

[API](https://skmtc.dev/every/apis/every-api.md) - [All operations](https://skmtc.dev/every/apis/every-api/llms.txt) - [OpenAPI document](https://skmtc.dev/every/apis/every-api/revisions/feda855eca84?raw)
