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
referenceTypes(
limit: PositiveInt = 100
): [ReferenceType!]
name: String!
slug: String!
type: AttributeTypeEnum!
unit: MeasurementUnitsEnum
choices(
sortBy: AttributeChoicesSortingInput
filter: AttributeValueFilterInput
where: AttributeValueWhereInput
search: String
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
}
Fields
id ● ID!
The ID of the attribute.
privateMetadata ● [MetadataItem!]!
List of private metadata items. Requires staff permissions to access.
privateMetafield ● String
A single key from private metadata. Requires staff permissions to access.
Tip: Use GraphQL aliases to fetch multiple keys.
key ● String!
privateMetafields ● Metadata
Private metadata. Requires staff permissions to access. Use keys to control which fields you want to include. The default is to include everything.
keys ● [String!]
metadata ● [MetadataItem!]!
List of public metadata items. Can be accessed without permissions.
metafield ● String
A single key from public metadata.
Tip: Use GraphQL aliases to fetch multiple keys.
key ● String!
metafields ● Metadata
Public metadata. Use keys to control which fields you want to include. The default is to include everything.
keys ● [String!]
inputType ● AttributeInputTypeEnum
The input type to use for entering attribute values in the dashboard.
entityType ● AttributeEntityTypeEnum
The entity type which can be used as a reference.
referenceTypes ● [ReferenceType!]
The reference types (product or page type) that are used to narrow down the choices of reference objects.
Added in Saleor 3.22limit ● PositiveInt
Maximum number of objects to return. Value must be greater than 0. Default is 100.
name ● String!
Name of an attribute displayed in the interface.
slug ● String!
Internal representation of an attribute name.
type ● AttributeTypeEnum!
The attribute type.
unit ● MeasurementUnitsEnum
The unit of attribute values.
choices ● AttributeValueCountableConnection
A list of predefined attribute choices available for selection. Available only for attributes with predefined choices.
sortBy ● AttributeChoicesSortingInput
Sort attribute choices.
filter ● AttributeValueFilterInput
Use where filter instead.
Filtering options for attribute choices.
where ● AttributeValueWhereInput
Where filtering options for attribute choices.
Added in Saleor 3.22search ● String
Search attribute choices.
Added in Saleor 3.22before ● String
Return the elements in the list that come before the specified cursor.
after ● String
Return the elements in the list that come after the specified cursor.
first ● Int
Retrieve the first n elements from the list. Note that the system only allows fetching a maximum of 100 objects in a single query.
last ● Int
Retrieve the last n elements from the list. Note that the system only allows fetching a maximum of 100 objects in a single query.
valueRequired ● Boolean!
Whether the attribute requires values to be passed or not.
visibleInStorefront ● Boolean!
Whether the attribute should be visible or not in storefront.
filterableInDashboard ● Boolean!
Whether the attribute can be filtered in dashboard.
translation ● AttributeTranslation
Returns translated attribute fields for the given language code.
languageCode ● LanguageCodeEnum!
A language code to return the translation for attribute.
withChoices ● Boolean!
Flag indicating that attribute has predefined choices.
productTypes ● ProductTypeCountableConnection!
A list of product types that use this attribute as a product attribute.
before ● String
Return the elements in the list that come before the specified cursor.
after ● String
Return the elements in the list that come after the specified cursor.
first ● Int
Retrieve the first n elements from the list. Note that the system only allows fetching a maximum of 100 objects in a single query.
last ● Int
Retrieve the last n elements from the list. Note that the system only allows fetching a maximum of 100 objects in a single query.
productVariantTypes ● ProductTypeCountableConnection!
A list of product types that use this attribute as a product variant attribute.
before ● String
Return the elements in the list that come before the specified cursor.
after ● String
Return the elements in the list that come after the specified cursor.
first ● Int
Retrieve the first n elements from the list. Note that the system only allows fetching a maximum of 100 objects in a single query.
last ● Int
Retrieve the last n elements from the list. Note that the system only allows fetching a maximum of 100 objects in a single query.
externalReference ● String
External ID of this attribute.
Show deprecated
Interfaces
Node
An object with an ID
ObjectWithMetadata
Returned By
attribute query
Member Of
AssignedAttribute interface ● AssignedBooleanAttribute object ● AssignedDateAttribute object ● AssignedDateTimeAttribute object ● AssignedFileAttribute object ● AssignedMultiCategoryReferenceAttribute object ● AssignedMultiChoiceAttribute object ● AssignedMultiCollectionReferenceAttribute object ● AssignedMultiPageReferenceAttribute object ● AssignedMultiProductReferenceAttribute object ● AssignedMultiProductVariantReferenceAttribute object ● AssignedNumericAttribute object ● AssignedPlainTextAttribute object ● AssignedSingleCategoryReferenceAttribute object ● AssignedSingleChoiceAttribute object ● AssignedSingleCollectionReferenceAttribute object ● AssignedSinglePageReferenceAttribute object ● AssignedSingleProductReferenceAttribute object ● AssignedSingleProductVariantReferenceAttribute object ● AssignedSwatchAttribute object ● AssignedTextAttribute object ● 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