---
title: "Replace a pending move's draft body before shipping. Free; scope 'act'."
method: POST
path: "/api/v1/moves/{id}/draft"
---

# Replace a pending move's draft body before shipping. Free; scope 'act'.

`POST /api/v1/moves/{id}/draft`

## Request

- Base URL: `https://afterlaunch.io`
- URL: `https://afterlaunch.io/api/v1/moves/{id}/draft`
- Auth: HTTP bearer

## Path parameters

- `id` string, uuid, required

## Request body

- object
  - `draft_fence` object: For a content pilot edit, return draft_fence unchanged from get_move or get_output. Refresh after a conflict.
    - `move_id` string, uuid, required
    - `move_state` string, required
    - `move_updated_at` string, date-time, required
    - `job_id` string, uuid, nullable, required
    - `attempt_id` string, uuid, nullable, required
    - `job_state` string, nullable, required
    - `job_updated_at` string, date-time, nullable, required
    - `candidate_id` string, uuid, required
    - `draft` string, required
  - `draft_content` string, required

## Response `200`

Draft saved.

- object
  - `data` object, required
  - `meta` object, required
    - `enrollment_id` string, uuid, required
    - `generated_at` string, date-time, required

## Other responses

- `401`: Missing, invalid or revoked API key.
- `403`: The key does not carry the scope this endpoint requires.
- `404`: Not found.
- `409`: The move is already resolved.
- `429`: Per-key rate limit exceeded. Honour Retry-After.

---

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