Listing lifecycle
Every listing has a status field that controls whether it can be purchased and what can be edited. There are three states: draft, published, and paused.
States
A listing starts in draft. Publishing validates the listing (price set, required fields present, account operational). Pausing pulls it from sale without losing any data. Resuming puts it back.
Transitions
Draft → published
ListBee validates the listing before publishing. If validation fails, the response includes a readiness object with the blocking action.
Published → paused
Existing orders are not affected. Buyers cannot complete new purchases while paused.
Paused → published
Same validation as the initial publish. Returns an error if account readiness has lapsed (e.g. Stripe charges disabled).
Published → draft
Only allowed if the listing has zero orders. Use pause instead when you need to pull a listing that already has sales.
Slug mutability
The slug is the listing’s globally unique identifier for buyer-facing URLs (listbee.so/s/your-slug).
- In draft — the slug can be changed freely via
PUT /v1/listings/{id}. - After first publish — the slug is frozen. Any attempt to change it returns a validation error.
Editability rules
Next steps
- Listings — full listing API reference.
- Deliverables — attach files, URLs, or text for managed delivery.
- Readiness system — what ListBee checks before allowing publish.