---
title: "Create a new attribute family"
method: POST
path: "/catalog/families"
tags: ["Admin Catalog: Attribute Families"]
---

# Create a new attribute family

`POST /catalog/families`

## Request

- Base URL: `http://localhost:8000/api/admin`
- URL: `http://localhost:8000/api/admin/catalog/families`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/bagisto/apis/bagisto-admin-api/docs/catalog/families/post.ts> (a function with typed inputs; its response is checked against the schema)

Creates an attribute family with optional nested attribute groups and per-group custom_attributes. `code` must be unique and pass the Code rule.

## Request body

- object
  - `code` string, required
  - `name` string, required
  - `attribute_groups` object[]

## Response `201`

Family created. Returns the same shape as GET /catalog/families/{id}.

## Other responses

- `400`: Invalid input
- `422`: Validation failure.

---

[API](https://skmtc.dev/bagisto/apis/bagisto-admin-api.md) - [All operations](https://skmtc.dev/bagisto/apis/bagisto-admin-api/llms.txt) - [OpenAPI document](https://skmtc.dev/bagisto/apis/bagisto-admin-api/revisions/3198f11be70f?raw)
