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
}
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.
Attribute.visibleInStorefront
● Boolean!
non-null scalar miscellaneous
Whether the attribute should be visible or not in storefront.
Attribute.filterableInStorefront
● Boolean!
deprecated non-null scalar miscellaneous
This field will be removed in Saleor 4.0.
Whether the attribute can be filtered in storefront.
Attribute.filterableInDashboard
● Boolean!
non-null scalar miscellaneous
Whether the attribute can be filtered in dashboard.
Attribute.availableInGrid
● Boolean!
deprecated non-null scalar miscellaneous
This field will be removed in Saleor 4.0.
Whether the attribute can be displayed in the admin product list.
Attribute.storefrontSearchPosition
● Int!
deprecated non-null scalar miscellaneous
This field will be removed in Saleor 4.0.
The position of the attribute in the storefront navigation (0 by default).
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