> For the complete documentation index, see [llms.txt](https://docs.nected.ai/nected-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.nected.ai/nected-docs/management-api/dynamic-lookup-table-api/create-attribute-library-group.md).

# Create Attribute Library Group

Create a new, empty attribute library group. A group is the container for your lookup values - you add the entries to it in a second call.

The response returns `data.id`. Save it: pass it as `moduleId` when you create entries in the group, and use it as `entity-id` for get and update calls.

### Request body

| Field                           | Type   | Required | Description                                                                |
| ------------------------------- | ------ | -------- | -------------------------------------------------------------------------- |
| `name`                          | string | Yes      | Name of the group, for example `OrderAttributes`.                          |
| `attributes`                    | array  | No       | Attributes (lookup tables) in the group.                                   |
| `attributes[].name`             | string | Yes      | Name of the attribute, for example `OrderStatus`.                          |
| `attributes[].dataType`         | string | Yes      | One of `String`, `Numeric`, `Date`, `DateTime`, `Boolean`, `List`, `JSON`. |
| `attributes[].predefinedValues` | array  | No       | The allowed values for the attribute.                                      |
| `attributes[].usage`            | string | Yes      | `Mandatory` or `Optional`.                                                 |

{% hint style="info" %}
You can't change an attribute's `name` or `dataType` after it's created, so check them before you send the request. Only `predefinedValues` and `usage` can be updated later.
{% endhint %}
