---
title: "Draft a listing from raw facts"
method: POST
path: "/api/mcp/draft-listing"
tags: ["MCP API"]
---

# Draft a listing from raw facts

`POST /api/mcp/draft-listing`

## Request

- Base URL: `https://www.cyclesite.co.uk`
- URL: `https://www.cyclesite.co.uk/api/mcp/draft-listing`
- Auth: none required

Sell-side helper that turns a seller's raw facts into a polished, on-brand listing draft (title, description, suggested starting price from live valuation, and a photo plan). Input is sanitised; nothing is persisted — the seller takes the draft to the sell flow to publish. No authentication required.

## Request body

- object
  - `brand` string, required
  - `city` string
  - `condition` string: Excellent, Very_Good, Good, Fair, Poor, For_Parts
  - `frameSize` string
  - `groupset` string
  - `itemCondition` 'new' | 'used': Defaults to used. A new bike gets no used-market price suggestion.
  - `knownIssues` string
  - `model` string, required
  - `willShip` boolean
  - `year` number, nullable

## Response `200`

Listing draft

- object
  - `attribution` string, required
  - `draft` object, required
    - `description` string, required
    - `photoPlan` string[], required
    - `priceConfidence` 'high' | 'medium' | 'low', required
    - `suggestedPriceGbp` number, nullable, required
    - `title` string, required
  - `next` string, required

## Other responses

- `429`: Rate limited

---

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