> 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/list-attribute-library-groups.md).

# List attribute library groups

Get a paginated list of the attribute library groups in your workspace, with optional filtering by name.

Use **Get attribute library group by id** to fetch a group's attributes and predefined values.

### Query parameters

| Parameter  | Type    | Default | Description            |
| ---------- | ------- | ------- | ---------------------- |
| `pageNo`   | integer | `1`     | Page number (1-based). |
| `pageSize` | integer | `10`    | Items per page.        |
| `name`     | string  | -       | Filter groups by name. |

## List attribute library groups

> Get a paginated list of the attribute library groups in your workspace, with optional filtering by name.\
> \
> Use \*\*Get attribute library group by id\*\* to fetch a single group.

```json
{"openapi":"3.0.3","info":{"title":"Nected Dynamic Lookup Table API (Attribute Library, Dev V1)","version":"1.0"},"tags":[{"name":"Dynamic Lookup Table API (Attribute Library)","description":"The Dynamic Lookup Table API lets you list, create, read and update **attribute library groups** (lookup tables) in your workspace. Each group holds one or more **attributes**, and each attribute has a name, a data type, a list of predefined values and a usage.\n\nUse it to update lookup values in bulk, sync them from your systems of record, or promote them between environments in CI/CD. For a no-code walkthrough, see Dynamic Lookup Tables (Attribute Library).\n\n**Entity type:** all paths use the entity type `module`.\n\n**Supported operations:** list, create, get and update only. Publish, test, schedule and version listing are not available for attribute libraries.\n\n**Update rules:** after an attribute is created, you can change its predefined values and usage. You can't change its name or data type, the same as in the UI.\n\n**Data types:** `String`, `Numeric`, `Date`, `DateTime`, `Boolean`, `List`, `JSON`.\n\n## Why use the API?\n\nUse the API when you need:\n\n* **Bulk updates** (large value lists in one or a few calls)\n* **Automated sync** from your systems of record\n* **CI/CD / environment promotion** of lookup values\n* **Programmatic governance** with controlled access and auditability\n\n## How it works\n\nAttribute libraries are created in two steps:\n\n1. **Create the group** with `POST /dev/v1/module`. The response returns the group's `id`.\n2. **Create the entries inside the group** with `POST /dev/v1/module_schema`, passing the group's `id` as `moduleId`.\n\nTo change things later, use `PATCH /dev/v1/module/{entity-id}` to rename the group or change its description, and `PATCH /dev/v1/module_schema/{entity-id}` to change the values or usage of an entry. Both need the current `checksum`."}],"servers":[{"url":"https://api.nected.ai","description":"Production"}],"security":[{"DevAuth":[]}],"components":{"securitySchemes":{"DevAuth":{"type":"apiKey","in":"header","name":"Nected-API-Key","description":"Your Nected API key. Obtain from your workspace settings."}},"schemas":{"ListAttributeGroupsResponse":{"type":"object","description":"Success response for GET /dev/v1/module","properties":{"code":{"type":"string"},"message":{"type":"string"},"pageNo":{"type":"integer"},"pageSize":{"type":"integer"},"totalCount":{"type":"integer"},"totalPages":{"type":"integer"},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}}}},"ErrorResponse":{"type":"object","description":"Error response wrapper","properties":{"code":{"type":"string"},"message":{"type":"string","description":"Human-readable error message"},"data":{"nullable":true}}}},"responses":{"BadRequest":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"ServerError":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/dev/v1/module":{"get":{"operationId":"listAttributeGroups","tags":["Dynamic Lookup Table API (Attribute Library)"],"summary":"List attribute library groups","description":"Get a paginated list of the attribute library groups in your workspace, with optional filtering by name.\n\nUse **Get attribute library group by id** to fetch a single group.","parameters":[{"name":"Nected-Branch","in":"header","required":false,"description":"Branch name (optional)","schema":{"type":"string"}},{"name":"pageNo","in":"query","schema":{"type":"integer","default":1},"description":"Page number (1-based)"},{"name":"pageSize","in":"query","schema":{"type":"integer","default":10},"description":"Items per page"},{"name":"name","in":"query","schema":{"type":"string"},"description":"Filter groups by name"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListAttributeGroupsResponse"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"500":{"$ref":"#/components/responses/ServerError"}}}}}}
```
