Every product has one of three statuses: draft, active or archived. Status is the one place where minipim enforces completeness: a product can only become active once its family’s required attributes are filled in.
In the admin
- Open a product under Catalog → Products.
- Use the Product status dropdown under the product name and pick
draft,activeorarchived. - If the page has unsaved edits, they’re saved first, then the status changes. If required attributes are missing, a message names them: “Can’t publish — Height, Width are required.”
To change many products at once, select them on the products list, click Status in the bulk bar, choose a New status and click Apply to N. The products list also has a status filter (All statuses, Draft, Active, Archived).
With the API
PATCH /v1/products/{id}with{ "status": "active" }POST /v1/productsacceptsstatus(defaultdraft)POST /v1/products/bulk-set-statuswith{ "productIds": [...], "status": "archived" }(up to 500 ids, per-row results)GET /v1/products?status=activeto read only live products
curl -X PATCH https://api.minipim.com/v1/products/0b8c5d3a-… \
-H "Authorization: Bearer pim_…" \
-H "Content-Type: application/json" \
-d '{ "status": "active" }'
A rejected publish returns 422 with one issue per missing attribute (attribute 'height' is required) in error.details.issues. See Errors and the full reference at api.minipim.com/docs.
What “required” means
An attribute is required on a product when its effective requirement in the family is required: the family’s per-attribute override if one is set, otherwise the attribute’s own setting. See Attribute families.
The check runs:
- on create, when the product is created as
active(single create andPOST /v1/products/bulk); - on PATCH, when the status moves to
activefrom anything else, even if the request only changes status; - on PATCH of
attributeswhile the product is already active.
It does not run when you edit only the name, slug, tags or brand of an active product, and drafts are never blocked.
Rules and limits
- New products default to
draft. Duplicates are always created as drafts. - Variants have their own
statusand are never held to required attributes. - Channel
required_attributesand readiness scores are informational. They never block a status change. archivedhas no special behavior in the API. List endpoints return every status unless you pass?status=, so storefronts should filter toactive.- Status changes emit
product.updatedwithstatusinchanged_fields.
Connectors
- When the BigCommerce connector pushes a product, only
activeis sent as visible. Shopify receivesACTIVE,DRAFTorARCHIVEDto match. - On pull, a visible BigCommerce product arrives
activeand a hidden onedraft. Shopify statuses map one to one. Imported statuses are written as-is, without the required-attribute check. - A BigCommerce
store/product/deletedwebhook archives the matching product instead of deleting it.
See Connectors for the rest of the sync behavior.
See also
- Products — How minipim products work: family, slug, attribute payload and tags, plus creating, editing, duplicating and deleting them in the admin or via the API.
- Attribute families — Attribute families define which attributes a minipim product carries: attaching attributes, requirement overrides, ordering, moving products, deletion.
- Channels and readiness — Channels are where your catalog is sold. Set per-channel required attributes, read readiness scores, and learn how channel-specific values and deletes work.
- Bulk editing — Change many products at once: set an attribute, status, tags or categories, move family, or delete. Up to 500 ids per API call, with a result for each product.