ProductType
Represents a type of product. It defines what attributes are available to products of this type.
type ProductType 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
  name: String!
  slug: String!
  hasVariants: Boolean!
  isShippingRequired: Boolean!
  isDigital: Boolean!
  weight: Weight
  kind: ProductTypeKindEnum!
  products(
    channel: String
    before: String
    after: String
    first: Int
    last: Int
  ): ProductCountableConnection @deprecated
  taxType: TaxType @deprecated
  taxClass: TaxClass
  variantAttributes(variantSelection: VariantAttributeScope): [Attribute!]
    @deprecated
  assignedVariantAttributes(
    variantSelection: VariantAttributeScope
  ): [AssignedVariantAttribute!]
  productAttributes: [Attribute!]
  availableAttributes(
    filter: AttributeFilterInput
    where: AttributeWhereInput
    before: String
    after: String
    first: Int
    last: Int
  ): AttributeCountableConnection
}
Fields
ProductType.id ● ID! non-null scalar miscellaneous
The ID of the product type.
ProductType.privateMetadata ● [MetadataItem!]! non-null object miscellaneous
List of private metadata items. Requires staff permissions to access.
ProductType.privateMetafield ● String scalar miscellaneous
A single key from private metadata. Requires staff permissions to access.
Tip: Use GraphQL aliases to fetch multiple keys.
Added in Saleor 3.3
ProductType.privateMetafield.key●String!non-null scalar miscellaneous
ProductType.privateMetafields ● Metadata scalar miscellaneous
Private metadata. Requires staff permissions to access. Use
Added in Saleor 3.3keysto control which fields you want to include. The default is to include everything.
ProductType.privateMetafields.keys●[String!]list scalar miscellaneous
ProductType.metadata ● [MetadataItem!]! non-null object miscellaneous
List of public metadata items. Can be accessed without permissions.
ProductType.metafield ● String scalar miscellaneous
A single key from public metadata.
Tip: Use GraphQL aliases to fetch multiple keys.
Added in Saleor 3.3
ProductType.metafield.key●String!non-null scalar miscellaneous
ProductType.metafields ● Metadata scalar miscellaneous
Public metadata. Use
Added in Saleor 3.3keysto control which fields you want to include. The default is to include everything.
ProductType.metafields.keys●[String!]list scalar miscellaneous
ProductType.name ● String! non-null scalar miscellaneous
Name of the product type.
ProductType.slug ● String! non-null scalar miscellaneous
Slug of the product type.
ProductType.hasVariants ● Boolean! non-null scalar miscellaneous
Whether the product type has variants.
ProductType.isShippingRequired ● Boolean! non-null scalar miscellaneous
Whether shipping is required for this product type.
ProductType.isDigital ● Boolean! non-null scalar miscellaneous
Whether the product type is digital.
ProductType.weight ● Weight object miscellaneous
Weight of the product type.
ProductType.kind ● ProductTypeKindEnum! non-null enum products
The product type kind.
ProductType.products ● ProductCountableConnection deprecated object products
DEPRECATEDThis field will be removed in Saleor 4.0. Use the top-level
productsquery with theproductTypesfilter.List of products of this type.
ProductType.products.channel●Stringscalar miscellaneousSlug of a channel for which the data should be returned.
ProductType.products.before ● String scalar miscellaneous
Return the elements in the list that come before the specified cursor.
ProductType.products.after ● String scalar miscellaneous
Return the elements in the list that come after the specified cursor.
ProductType.products.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.
ProductType.products.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.
ProductType.taxType ● TaxType deprecated object taxes
DEPRECATEDThis field will be removed in Saleor 4.0. Use
taxClassfield instead.A type of tax. Assigned by enabled tax gateway
ProductType.taxClass ● TaxClass object taxes
Tax class assigned to this product type. All products of this product type use this tax class, unless it's overridden in the
Producttype.
ProductType.variantAttributes ● [Attribute!] deprecated list object attributes
DEPRECATEDThis field will be removed in Saleor 4.0. Use
assignedVariantAttributesinstead.Variant attributes of that product type.
ProductType.variantAttributes.variantSelection●VariantAttributeScopeenum productsDefine scope of returned attributes.
ProductType.assignedVariantAttributes ● [AssignedVariantAttribute!] list object attributes
Variant attributes of that product type with attached variant selection.
Added in Saleor 3.1
ProductType.assignedVariantAttributes.variantSelection●VariantAttributeScopeenum productsDefine scope of returned attributes.
ProductType.productAttributes ● [Attribute!] list object attributes
Product attributes of that product type.
ProductType.availableAttributes ● AttributeCountableConnection object attributes
List of attributes which can be assigned to this product type.
ProductType.availableAttributes.filter●AttributeFilterInputinput attributes
ProductType.availableAttributes.where ● AttributeWhereInput input attributes
ProductType.availableAttributes.before ● String scalar miscellaneous
Return the elements in the list that come before the specified cursor.
ProductType.availableAttributes.after ● String scalar miscellaneous
Return the elements in the list that come after the specified cursor.
ProductType.availableAttributes.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.
ProductType.availableAttributes.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.
Interfaces
Node interface miscellaneous
An object with an ID
ObjectWithMetadata interface miscellaneous
Returned By
productType query
Member Of
Product object ● ProductAttributeAssign object ● ProductAttributeAssignmentUpdate object ● ProductAttributeUnassign object ● ProductTypeCountableEdge object ● ProductTypeCreate object ● ProductTypeDelete object ● ProductTypeReorderAttributes object ● ProductTypeUpdate object
Implemented By
_Entity union