Skip to main content

Create Draft

POST 

/api/v2/listing-drafts

Create a listing draft.

Fields:

  • purpose (required, create | update) — create builds a new-listing draft; update seeds a draft from an existing live listing.
  • product_id (required if purpose=create, integer) — product to list.
  • sales_channel_id (required if purpose=create, integer) — target channel.
  • sales_channel_category_id (nullable, integer) — channel category driving the field schema. A draft without a category records a missing_category validation error and stays in draft state — it can never reach ready until a category is set.
  • sales_channel_product_template_id (nullable, integer) — template pre-mapping category fields. Optional: a draft is fully publishable without one (fill fields via overrides).
  • sales_channel_listing_profile_id (nullable, integer) — channel listing profile.
  • product_listing_id (required if purpose=update, integer) — live listing to seed from.

The draft is resolved + validated on creation; the response includes fields[] (schema + resolved value + provenance + raw override), resolved_values and validation_errors.

Authentication: Requires Bearer token. Feature flag: requires listing-publishing to be enabled.

Request

Responses

Created