---
title: "Hand a draft to the editors"
method: POST
path: "/posts/{id}/submit"
tags: ["Authoring"]
---

# Hand a draft to the editors

`POST /posts/{id}/submit`

## Request

- Base URL: `https://api.sweetvaluelab.com`
- URL: `https://api.sweetvaluelab.com/posts/{id}/submit`
- Auth: HTTP bearer

Runs the check again over the stored post. With no errors the content check reads the post. Warnings do not block. Post-moderation: when the content check passes, the post (or the revision) goes live now, from any account, with or without a byline — `data.published` is `true` and `data.path` is its URL; a new post stays `noindex` and out of the sitemap for its first 48 hours. Otherwise it waits `in_review` and `data.review.reasons` says why; an editor then publishes it or rejects it with a note, and the author is emailed either way.

## Other responses

- `400`: `bad_request`: the id is not an integer.
- `401`: No credential, or a token that is unknown, revoked or expired. The response carries `WWW-Authenticate: Bearer realm="sweetvaluelab"`; `error.code` is `unauthenticated`.
- `404`: `not_found`: no post with that id on this account.
- `409`: `already_submitted`: the post is already in review or published.
- `422`: The document has errors. `error.code` is `precheck_failed` and `error.details.issues` lists every finding (see `PrecheckIssue`); fix the `error` ones and send it again.

---

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