---
title: "Get information about attributes"
method: GET
path: "/v1/attributes"
tags: ["attributes"]
---

# Get information about attributes

`GET /v1/attributes`

To work with attributes, we distinguish between __attribute groups__ and __attribute values__:
* Each product can be assigned to many __attribute values__, for example: `white` or `M`.
* Each attribute belongs to exactly one __attribute group__, for example: `color` or `size`.

When generally talking about attributes, both [attribute groups](../../../en/next/manual/scayle/product-configuration#definition-of-attributes--attribute-groups) and attribute values are sometimes referred to as just __attributes__. To avoid confusion when addressing technical details, use the more specific terms __attribute groups__ and __attribute values__.

You can set up and [modify your available attribute groups](../../../en/next/manual/scayle/product-configuration#master-attributes) and values through the Panel.

You can use `/attributes` to retrieve all your attribute groups. The response will also include the available attribute values for each attribute group.

To get only a few attribute groups, you can specify their attribute group IDs or their attribute group names, for example, `/attributes?ids=123,456,789` or `/attributes?name=color`.

You can also get individual attribute groups and their attribute values with `/v1/attributes/{attributeGroupName}`.

## Query parameters

- `names` string
- `ids` integer

## Response `200`

successful operation

- Attribute[]
  - `id` integer, nullable, required
  - `key` string, required — Reference that identifies the attribute
  - `label` string, required — The locale is defined by the configuration of the shop associated with the authentication token. [Translations](../../../en/next/manual/scayle/product-translations) of the individual attributes are maintained in the SCAYLE Panel.
  - `multiSelect` boolean, required — A flag which determines whether an attribute has a single or possibly multiple values.
  - `type` string, nullable, required — Attribute type
  - `values` AttributeValue[] — If 'multiSelect' is 'true', this is an 'object' ('{ id? number, label? string, value? string }'), if 'multiSelect' is 'false' this is an array of objects.
    - `id` integer, nullable
    - `label` string, nullable
    - `value` string, nullable

## Other responses

- `400` — required query parameter missing / invalid
- `401` — authentication failed
- `404` — one of the requested attributes was not found.

## Changes

- **2023-08-06** `302b7c443b51` — 6 breaking, 2 warning, 1 info
  - for the `query` request parameter `ids`, the type/format was changed from `array`/`` to `integer`/``
  - the response property `items/id` became nullable for the status `200`
  - the response property `items/type` became nullable for the status `200`
  - the response property `items/values/items/id` became nullable for the status `200`
  - …5 more

[Change history](https://skmtc.dev/scayle/apis/storefront-api-documentation/changes/v1/attributes/get.md)

---

[API](https://skmtc.dev/scayle/apis/storefront-api-documentation.md) · [All operations](https://skmtc.dev/scayle/apis/storefront-api-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/scayle/storefront-api-documentation/revisions/beabe2149947/schema)
