Skip to main content

Attribute Object

Custom attribute of a product. Attributes can be assigned to products and variants at the product type level.

type Attribute implements Node, ObjectWithMetadata {
id: ID!
privateMetadata: [MetadataItem!]!
privateMetafield(
key: String!
): String
privateMetafields(
keys: [String!]
): Metadata
metadata: [MetadataItem!]!
metafield(
key: String!
): String
metafields(
keys: [String!]
): Metadata
inputType: AttributeInputTypeEnum
entityType: AttributeEntityTypeEnum
name: String
slug: String
type: AttributeTypeEnum
unit: MeasurementUnitsEnum
choices(
sortBy: AttributeChoicesSortingInput
filter: AttributeValueFilterInput
before: String
after: String
first: Int
last: Int
): AttributeValueCountableConnection
valueRequired: Boolean!
visibleInStorefront: Boolean!
filterableInStorefront: Boolean! @deprecated
filterableInDashboard: Boolean!
availableInGrid: Boolean! @deprecated
storefrontSearchPosition: Int! @deprecated
translation(
languageCode: LanguageCodeEnum!
): AttributeTranslation
withChoices: Boolean!
productTypes(
before: String
after: String
first: Int
last: Int
): ProductTypeCountableConnection!
productVariantTypes(
before: String
after: String
first: Int
last: Int
): ProductTypeCountableConnection!
externalReference: String
}
Expand ▼

Fields

Attribute.id ● ID! non-null scalar miscellaneous

The ID of the attribute.

Attribute.privateMetadata ● [MetadataItem!]! non-null object miscellaneous

List of private metadata items. Requires staff permissions to access.

Attribute.privateMetafield ● String scalar miscellaneous

A single key from private metadata. Requires staff permissions to access.

Tip: Use GraphQL aliases to fetch multiple keys.

Attribute.privateMetafield.key ● String! non-null scalar miscellaneous

Attribute.privateMetafields ● Metadata scalar miscellaneous

Private metadata. Requires staff permissions to access. Use keys to control which fields you want to include. The default is to include everything.

Attribute.privateMetafields.keys ● [String!] list scalar miscellaneous

Attribute.metadata ● [MetadataItem!]! non-null object miscellaneous

List of public metadata items. Can be accessed without permissions.

Attribute.metafield ● String scalar miscellaneous

A single key from public metadata.

Tip: Use GraphQL aliases to fetch multiple keys.

Attribute.metafield.key ● String! non-null scalar miscellaneous

Attribute.metafields ● Metadata scalar miscellaneous

Public metadata. Use keys to control which fields you want to include. The default is to include everything.

Attribute.metafields.keys ● [String!] list scalar miscellaneous

Attribute.inputType ● AttributeInputTypeEnum enum attributes

The input type to use for entering attribute values in the dashboard.

Attribute.entityType ● AttributeEntityTypeEnum enum attributes

The entity type which can be used as a reference.

Attribute.name ● String scalar miscellaneous

Name of an attribute displayed in the interface.

Attribute.slug ● String scalar miscellaneous

Internal representation of an attribute name.

Attribute.type ● AttributeTypeEnum enum attributes

The attribute type.

Attribute.unit ● MeasurementUnitsEnum enum miscellaneous

The unit of attribute values.

Attribute.choices ● AttributeValueCountableConnection object attributes

List of attribute's values.

Attribute.choices.sortBy ● AttributeChoicesSortingInput input attributes

Sort attribute choices.

Attribute.choices.filter ● AttributeValueFilterInput input attributes

Filtering options for attribute choices.

Attribute.choices.before ● String scalar miscellaneous

Return the elements in the list that come before the specified cursor.

Attribute.choices.after ● String scalar miscellaneous

Return the elements in the list that come after the specified cursor.

Attribute.choices.first ● Int scalar miscellaneous

Retrieve the first n elements from the list. Note that the system only allows fetching a maximum of 100 objects in a single query.

Attribute.choices.last ● Int scalar miscellaneous

Retrieve the last n elements from the list. Note that the system only allows fetching a maximum of 100 objects in a single query.

Attribute.valueRequired ● Boolean! non-null scalar miscellaneous

Whether the attribute requires values to be passed or not.

Requires one of the following permissions: MANAGE_PAGESMANAGE_PAGE_TYPES_AND_ATTRIBUTESMANAGE_PRODUCTSMANAGE_PRODUCT_TYPES_AND_ATTRIBUTES

Attribute.visibleInStorefront ● Boolean! non-null scalar miscellaneous

Whether the attribute should be visible or not in storefront.

Requires one of the following permissions: MANAGE_PAGESMANAGE_PAGE_TYPES_AND_ATTRIBUTESMANAGE_PRODUCTSMANAGE_PRODUCT_TYPES_AND_ATTRIBUTES

Attribute.filterableInStorefront ● Boolean! deprecated non-null scalar miscellaneous

DEPRECATED

This field will be removed in Saleor 4.0.

Whether the attribute can be filtered in storefront.

Requires one of the following permissions: MANAGE_PAGESMANAGE_PAGE_TYPES_AND_ATTRIBUTESMANAGE_PRODUCTSMANAGE_PRODUCT_TYPES_AND_ATTRIBUTES

Attribute.filterableInDashboard ● Boolean! non-null scalar miscellaneous

Whether the attribute can be filtered in dashboard.

Requires one of the following permissions: MANAGE_PAGESMANAGE_PAGE_TYPES_AND_ATTRIBUTESMANAGE_PRODUCTSMANAGE_PRODUCT_TYPES_AND_ATTRIBUTES

Attribute.availableInGrid ● Boolean! deprecated non-null scalar miscellaneous

DEPRECATED

This field will be removed in Saleor 4.0.

Whether the attribute can be displayed in the admin product list.

Requires one of the following permissions: MANAGE_PAGESMANAGE_PAGE_TYPES_AND_ATTRIBUTESMANAGE_PRODUCTSMANAGE_PRODUCT_TYPES_AND_ATTRIBUTES

Attribute.storefrontSearchPosition ● Int! deprecated non-null scalar miscellaneous

DEPRECATED

This field will be removed in Saleor 4.0.

The position of the attribute in the storefront navigation (0 by default).

Requires one of the following permissions: MANAGE_PAGESMANAGE_PAGE_TYPES_AND_ATTRIBUTESMANAGE_PRODUCTSMANAGE_PRODUCT_TYPES_AND_ATTRIBUTES

Attribute.translation ● AttributeTranslation object attributes

Returns translated attribute fields for the given language code.

Attribute.translation.languageCode ● LanguageCodeEnum! non-null enum miscellaneous

A language code to return the translation for attribute.

Attribute.withChoices ● Boolean! non-null scalar miscellaneous

Flag indicating that attribute has predefined choices.

Attribute.productTypes ● ProductTypeCountableConnection! non-null object products

A list of product types that use this attribute as a product attribute.

Attribute.productTypes.before ● String scalar miscellaneous

Return the elements in the list that come before the specified cursor.

Attribute.productTypes.after ● String scalar miscellaneous

Return the elements in the list that come after the specified cursor.

Attribute.productTypes.first ● Int scalar miscellaneous

Retrieve the first n elements from the list. Note that the system only allows fetching a maximum of 100 objects in a single query.

Attribute.productTypes.last ● Int scalar miscellaneous

Retrieve the last n elements from the list. Note that the system only allows fetching a maximum of 100 objects in a single query.

Attribute.productVariantTypes ● ProductTypeCountableConnection! non-null object products

A list of product types that use this attribute as a product variant attribute.

Attribute.productVariantTypes.before ● String scalar miscellaneous

Return the elements in the list that come before the specified cursor.

Attribute.productVariantTypes.after ● String scalar miscellaneous

Return the elements in the list that come after the specified cursor.

Attribute.productVariantTypes.first ● Int scalar miscellaneous

Retrieve the first n elements from the list. Note that the system only allows fetching a maximum of 100 objects in a single query.

Attribute.productVariantTypes.last ● Int scalar miscellaneous

Retrieve the last n elements from the list. Note that the system only allows fetching a maximum of 100 objects in a single query.

Attribute.externalReference ● String scalar miscellaneous

External ID of this attribute.

Interfaces

Node interface miscellaneous

An object with an ID

ObjectWithMetadata interface miscellaneous

Returned By

attribute query

Member Of

AssignedVariantAttribute object ● AttributeBulkCreateResult object ● AttributeBulkUpdateResult object ● AttributeCountableEdge object ● AttributeCreate object ● AttributeCreated object ● AttributeDelete object ● AttributeDeleted object ● AttributeReorderValues object ● AttributeTranslatableContent object ● AttributeTranslate object ● AttributeUpdate object ● AttributeUpdated object ● AttributeValueCreate object ● AttributeValueDelete object ● AttributeValueUpdate object ● PageType object ● ProductType object ● SelectedAttribute object