An attribute family is a product type: the set of attributes a product can hold, in a set order, with a requirement level for each. Every product belongs to exactly one family. Content page types, categories and brands run on families too.

In the admin

Families live in the Product families section of Catalog → Attributes.

  1. Click New, enter a Code and English label, optionally a Description, and click Create + design.
  2. In the designer, find attributes under Available attributes and click Attach.
  3. Under Attached attributes, reorder with the up and down arrows and set each attribute’s Requirement override: Inherit (the attribute’s own level), Required, Suggested or Available.
  4. Make all available sets every attachment to Available in one go, which is useful after an import attaches dozens of fields. Then promote the few that should always show.

Open an existing family with Designer →.

With the API

MethodPathWhat it does
GET/v1/attribute-families?entityKind=productList families of one kind
POST/v1/attribute-familiesCreate (product or content)
GET/v1/attribute-families/{id}Family plus its attached attributes
PATCH/v1/attribute-families/{id}Update label and description
DELETE/v1/attribute-families/{id}Delete
POST/v1/attribute-families/{id}/attributesAttach an attribute
PATCH/v1/attribute-families/{id}/attributes/{attributeId}Change position or requirement override
DELETE/v1/attribute-families/{id}/attributes/{attributeId}Detach
curl -X POST https://api.minipim.com/v1/attribute-families/5a2c1d8e-…/attributes \
  -H "Authorization: Bearer pim_…" \
  -H "Content-Type: application/json" \
  -d '{ "attributeId": "c41d…", "requirementOverride": "required", "position": 3 }'

GET /v1/attribute-families/{id} returns each attached attribute’s code, type, flags, validation and effectiveRequirement (the override if set, otherwise the attribute’s own level). Read effectiveRequirement rather than combining the two yourself. Full reference: api.minipim.com/docs.

Rules and limits

  • Family codes match ^[a-z][a-z0-9_]*$, are unique per organization and entity kind, and can’t be changed. Only the label and description are editable.
  • requirementOverride: null inherits the attribute’s level; omitting it on PATCH leaves the override alone.
  • The required-attribute check that gates active status uses the effective requirement. Drafts are never blocked.
  • Products are validated in strict mode: a value for an attribute that isn’t attached to the family is rejected.
  • Positions don’t have to be unique; ties are ordered by attribute code.
  • Detaching an attribute doesn’t delete values already stored on products. Deleting the attribute itself does (see Attributes).
  • A family can’t be deleted while any product uses it (409). Move or delete those products first.
  • A product’s family can’t be changed by PATCH. Use the bulk Move family action or POST /v1/products/bulk-move-family, with mode preserve (skip any product that would lose data) or drop_unsupported (drop values the new family doesn’t have). See Bulk editing.
  • Category and brand families are created automatically, one per organization, with a description rich-text field. You can’t create them with POST.
  • The reserved content types page and post can’t be deleted because connectors look them up by code.
  • Family writes emit attribute_family.* and family_attribute.* events.

See also

  • Attributes — Attributes are the typed fields of a minipim catalog: codes, labels, localizable, scopable and variant-axis flags, requirement levels, validation, deletion.
  • 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.
  • Product status — The draft, active and archived product statuses in minipim, the required-attribute check that runs when a product goes active, and how connectors map status.
  • 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.