Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
This doc provides an overview of our GraphQL API which is designed specifically with data integration in mind.
The API is available at /api/graphql/
URL path of your instance.
API returns data in JSON format.
contains Queries and Mutations.
List of factors resulting in resource cursor update
product created
product property updated
attribute value
product added or removed from a category
template assignment
status changed
a variant has been added or removed
grouped product has been added or removed
product added to a segment
variable product variant added to a segment
grouping product grouped product added to a segment
product related in product relation attribute added to a segment
attribute created
attribute property updated
name
metadata
option added, modified, or removed from an attribute
unit attribute unit
price attribute currency
textarea attribute richEdit property
category created
category property updated
name
attribute value
category tree created
category tree property updated
name
category tree structure
multimedia created
multimedia property updated
name
folder assignment
The list of possible error codes to occur in course of executing API mutations.
128f9cb0-28bd-4843-a570-d2bd4671c495
The resource is referenced from other resources.
e78b3ed7-db49-4e81-9f29-ecc2985072f4
Currency is not supported.
79876042-fe47-4035-ba10-ce07706433fd
Template with given TemplateCode
does not exist.
4b5f8783-1273-4ddb-8e05-e0ecf685d924
Unit with given UnitName
does not exist.
9ff3fdc4-b214-49db-8718-39c315e33d45
Too short input value.
d94b19cc-114f-4f44-9cc4-4138e80a87b9
Too long input value.
c1051bb4-d103-4f74-8988-acbcafc7fdc3
The input value cannot be blank.
ea4e51d1-3342-48bd-87f1-9e672cd90cad
The numeric value is too low.
1a9da513-2640-4f84-9b6a-4d99dcddc628
Value is not a valid date format.
d6d40d78-bf28-4773-8c0d-4411be1e8fa6
Translation language is not active.
756b1212-697c-468d-a9ad-50dd783bb169
Too many elements in a collection.
491b2811-7e4d-49f7-adbe-a42622031f1c
Language has to be passed when setting a value for local scope Attribute.
786446ad-32b8-40a9-9bb5-e5445196ffd5
Value is not unique for the given attribute.
a16b966e-e884-4075-9de7-4720cad1022a
Value does not match Regex.
aa82dbed-9098-4d4b-af22-3a0dde5d47bb
Multimedia extension is not acceptable.
e47e5afd-c7ef-4a5d-bb3e-0076269951d4
Value contains banned words.
25db6569-d15d-41a2-a32d-61b67308d285
Attribute code has to represent a unique attribute.
4a9205b6-8f3c-4e85-960d-9835aaa1e9ab
Attribute with given AttributeCode
does not exist.
62adb4f9-217d-4d9e-b117-0a30b4b33f3b
Attribute with given AttributeCode
exists already.
25f77355-4443-4850-b8cd-7d3ec7ef5a7a
Attribute already has Option
with given OptionCode
.
bc1a2fc6-4910-4e47-a3aa-1fdbcd2d364b
Attribute does not contain Option
with given OptionCode
.
50084892-e811-4358-820e-f005917f769b
Attribute with given AttributeCode
is not valid according to context.
72e93c59-575a-4062-914b-5e143f2810f0
Attribute metadata limit exceeded.
ea5e8ce4-8ab7-442d-87ca-db500cad7be2
Attribute metadata payload keys duplicates.
7cc10e50-3d49-43c6-a847-3b8363f9ed83
Invalid attribute scope.
6d2e1555-7d1b-47a7-8d2d-47ea2e33bfe6
Category with given CategoryCode
does not exist.
ef49c353-7fec-4f5a-beb7-47d392606a15
Category with given CategoryCode
exists already.
b2943d95-24e6-4b0c-9f09-f86ea635d8cb
Categories do not have Attribute enabled in configuration.
c18fa865-07a5-4fcb-a6af-8c44b5c643bd
Attribute is used in Category as value.
d62579bf-6fde-4396-9f12-bc71d6394746
Multimedia exists already within MultimediaPath
.
eabcf146-a4e7-425c-999f-9e04a6c8a988
Multimedia with given MultimediaPath
does not exist.
9670b62d-5db8-4de8-81bd-7d6119625df0
Multimedia file should be an image.
df8637af-d466-48c6-a59d-e7126250a654
Multimedia file uploaded is too large.
dd4722d6-9371-42a2-9c35-87b2a03009e7
Multimedia file uploaded extension is not supported.
9465e18e-be76-46e8-ab9f-1db22426ab06
Multimedia file is corrupted and its extension does not match MIME type.
ef0dd12b-f075-4bbb-8535-4f299452cf30
Multimedia with the given extension in MultimediaName
does not match the Multimedia file MIME type.
d64f83eb-32ae-48f6-a46d-ffa4fcba6ee3
MultimediaFolder with given MultimediaFolderPath
does not exist.
54c25a35-59da-4215-aa61-997bb80d303f
MultimediaFolder with given MultimediaFolderPath
exists already.
bb87ccb2-0433-40d9-976d-f4f388299840
Product relation cannot reference self.
a339fa44-2bf8-48df-84a5-ad83a4ba74be
Product type is invalid.
01b70d39-8e58-4406-a1c8-f63d84f29af6
Product with given Sku
does not exist.
c63cc7a9-1298-4520-a5ad-6c0a9c478a00
Product with given Sku
exists already.
7e270f10-73b7-4b82-991f-80bda5bc70a3
VariableProduct needs to have bindings in order to add variants.
d3209a3d-23a5-4c53-bf6b-4b72cd42d376
Product cannot be added as a VariableProduct
variant as do not have the required attributes.
18b2cb49-313d-4251-96bd-e031351a95b8
VariableProduct has variants already and its binding attributes cannot be changed.
3b96fc99-792e-4698-aee1-a3d95ad97b05
Product attribute value is a bond to VariableProduct and cannot be changed.
0786e099-07ce-4b4e-bf92-d04442c130e5
Another Product is bonded to VariableProduct with the same set of value of binding attributes.
bfff5187-1ac6-45f8-8516-7d59ab030c09
Cannot remove attribute value as it's a binding attribute.
72b36b5b-5c2f-44c6-85f3-ecadc04ea1b3
Product is already a Variant.
6406a966-10e9-4096-abfd-bf6764909fd2
Product does not have given child.
Interfaces represent a parent for Objects providing definition of common fields.
An attribute represents a type of value that can be assigned to a product.
Fields:
code
Readable id of Attribute
.
Translatable name allowing to set different values in every active language.
scope
Scope of Attribute
determining its values behavior.
metadata
Metadata allows describing the Attribute
in an enhanced, custom way.
Implemented by:
Represents a value defining a specific attribute.
Fields:
A value translations.
attribute
An Attribute
describing the type of value.
Implemented by:
Represents a translated attribute value for language.
Fields:
language
A language of a translation.
Implemented by:
A custom field represents a type of value that can be assigned to an attribute option.
Fields:
code
Readable id of CustomField
.
Implemented by:
Represents a value defining a specific CustomField
in specific language only.
Fields:
customField
A CustomField
describing the type of value.
Implemented by:
Represents a value defining a specific CustomField
.
Fields:
customField
A CustomField
describing the type of value.
A value translations.
Implemented by:
Represents a translated custom field value for language.
Fields:
language
A language of a translation.
Implemented by:
An attribute with a predefined set of values(options).
Implements:
Fields:
A list of options of an Attribute
.
first
argument cannot be lesser than 0 and higher than 200. The default value is 50.
customFields
Configured attribute custom fields.
Implemented by:
Fields:
sku
sku
A list of categories Product
belongs to.
first
argument cannot be lesser than 0 and its default value is 50.
template
Template of Product
.
A list of Attribute
values.
first
argument cannot be lesser than 0 and its default value is 50.
status
Status of Product
.
createdAt
Creation date.
editedAt
Last edition date.
Implemented by:
Overview of available query and field naming concepts representing how the data is provided.
Returns resource identified by the unique inedntifier
product(sku: "simple_product") {…}
- sku(Sku) for product
attribute(code: "attribute_code") {...}
- code(AttributeCode) for the attribute
*Stream (paginable)
Streams allow fetching the collection of resources.
Streams are designed specifically for integrations - once you create a new resource or edit existing ones, a resource is automatically transferred to the end of the stream - a given resource at a given moment is available in the stream only once.
The stream gives you the power of importing resources in time without worrying about dealing with nitty-gritty details like edition date etc.
As an example, we do have a product stream with the following SKUs [1, 2, 3 {endCursor}]
. Once product 2 gets updated the stream will look like the following [1, 3 {endCursorFromInitialState}, 2]
. Once you'd add product 4 again the stream would look like [1, 3 {endCursorFromInitialState}, 2, 4]
. Thanks to using this powerful design of the cursor approach and our providing method you are sure you don't miss a resource once fetching continuously unlike it's risky on classic paginal collections.
productStream(first: 1, after: “cursor”) {…}
*List (paginable)
Lists allow fetching the collection(list) of the resources.
The list should always be fetched and updated entirely at once. The list represents finite resources not growing in time.
languageList(first: 1, after: "cursor") {…}
Product.attributeList
Usually available from other resources levels i.e. bindings of the variable product
VariableProduct.bindings
Every API resource is presented in the current state at the moment of fetching.
Alternatively, in order to obtain the full types definition download the schema
or just query the API:
Types reference:
Queries allow retrieving data from the server.
Finds an Attribute
.
Arguments:
Arguments:
Provides a list of attribute options.
Arguments:
Arguments:
Finds a Category
.
Arguments:
Provides a list of attributes allowed to be used in a category.
Arguments:
Arguments:
Arguments:
Finds a CategoryTree
.
Arguments:
Arguments:
Arguments:
Provides a list of active languages.
Arguments:
Finds a Multimedia
.
Arguments:
Finds a MultimediaFolder
.
Arguments:
Provides a list of multimedia folders.
Arguments:
Arguments:
Finds a Product
.
Arguments:
Finds a Product
by unique attribute value.
Arguments:
Arguments:
Arguments:
Finds a parent VariableProduct
identified by variant Sku.
Arguments:
Finds a Section
.
Arguments:
Provides a list of sections.
Arguments:
Finds a Template
.
Arguments:
Provides a list of templates.
Arguments:
name (languages: )
translations (languages: )
translations (languages: )
optionList (after: , first: )
categoryList (after: , first: )
attributeList (after: , first: , codes: )
All paginable collections are based on the standard. According to it every Edge of the graph next to the information of the resource(node
) contains a cursor
that allows fetching the next resource from the collection.
The entire GraphQL schema is available to fetch from the API itself. It's called .
As with every other query, introspection of the Ergonode API requires .
The simplest way to discover the GraphQL API is to use supporting HTTP clients like . On one hand, they do support scoping through documentation schema, and on the other provide autocomplete functionality which makes writing queries really straightforward.
Returns:
Provides a of deleted attribute codes.
Returns:
Returns:
Provides a of attributes.
Returns:
Returns:
Returns:
Provides a of deleted category codes.
Returns:
Provides a of categories.
Returns:
Returns:
Provides a of deleted category tree codes.
Returns:
Provides a of category trees.
Returns:
Returns:
Returns:
Returns:
Returns:
Provides a of multimedia.
Returns:
Returns:
Returns:
Provides a of deleted product SKUs.
Returns:
Provides a of products.
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
The list of recent and upcoming breaking changes
At Ergonode we strive to make your integration process as fluent as possible but from time to time we discover a flaw in the design of the schema or introduce a really cool new feature that is impossible to be provided in a fully-compatible non-breaking way.
In such a situation, we will always aim to not break your integration with the new release and provide you with a transition period of approximately 3-months to adjust your consumer. Every such change shall be communicated in the following list.
Breaking change scheduled for 04-2024
MultiSelectAttribute.options
is going to be removed
SelectAttribute.options
is going to be removed
Breaking change scheduled for 09-2023
MultimediaCreateInput.folderName
is going to be removed
Mutation.multimediaSetFolder
is going to be removed
Breaking changes scheduled for 02-2023
AttributeValue.valueTranslations
is going to be removed
Breaking changes scheduled for 12-2022
Attribute.label
is going to be removed
Option.label
is going to be removed
OptionInput.label
is going to be removed
Mutation.attributeSetLabel
is going to be removed
label
field is going to be removed from Attribute
create mutation input objects
AttributeCreateDateInput
AttributeCreateFileInput
AttributeCreateGalleryInput
AttributeCreateImageInput
AttributeCreateMultiSelectInput
AttributeCreateNumericInput
AttributeCreatePriceInput
AttributeCreateProductRelationInput
AttributeCreateSelectInput
AttributeCreateTextareaInput
AttributeCreateTextInput
AttributeCreateUnitInput
Breaking changes scheduled for 10-2022
GroupingProduct.childList
is going to be removed
Template.name
is going to be removed
Template.defaultLabel
is going to be removed
Breaking changes scheduled for 08-2022
TranslatedAttributeValue.inherited
is going to be removed
Query.languageTreeLeafList
is going to be removed
Breaking change scheduled for 07-2022
Attribute.hint
is going to be removed
Attribute.placeholder
is going to be removed
Mutation.attributeSetHint
is going to be removed
Mutation.attributeSetPlaceholder
is going to be removed
placeholder
and hint
fields are going to be removed from Attribute
create mutation input objects
AttributeCreateDateInput
AttributeCreateFileInput
AttributeCreateGalleryInput
AttributeCreateImageInput
AttributeCreateMultiSelectInput
AttributeCreateNumericInput
AttributeCreatePriceInput
AttributeCreateProductRelationInput
AttributeCreateSelectInput
AttributeCreateTextareaInput
AttributeCreateTextInput
AttributeCreateUnitInput
Breaking change scheduled for 05-2022
Option.attribute
is going to be removed
Breaking change scheduled for 05-2022
AttributeValue.value
is going to be removed
AttributeValue.code
is going to be removed
The changelog is a list of recent changes to GraphQL API schema.
Query.productVariantParent
added
Product.status
added
Mutation.productSetStatus
added
Query.productByUniqueAttribute
added
ProductAddAttributeValueTranslationsProductRelationInput.twoWayRelation
added
Mutation.multimediaFolderDelete
added
Query.attributeOptionList
added
MultiSelectAttribute.options
removed
SelectAttribute.options
removed
OptionAttribute.optionList
argument codes
added
Template.sectionList
added
Query.section
added
Query.sectionList
added
Query.template
added
OptionAttribute
interface added
SelectAttribute
implements OptionAttribute
MultiSelectAttribute
implements OptionAttribute
OptionAttribute.customFields
added
Option.customFields
added
Mutation.attributeOptionAddCustomFieldImage
added
Mutation.attributeOptionAddCustomFieldText
added
Mutation.attributeOptionAddCustomFieldTextarea
added
Mutation.attributeOptionAddCustomFieldTextareaRTE
added
Mutation.attributeOptionAddOptionCustomFieldValueTranslationsImage
added
Mutation.attributeOptionAddOptionCustomFieldValueTranslationsText
added
Mutation.attributeOptionAddOptionCustomFieldValueTranslationsTextarea
added
Mutation.attributeOptionAddOptionCustomFieldValueTranslationsTextareaRTE
added
Mutation.attributeOptionDeleteCustomField
added
Mutation.attributeOptionDeleteOptionCustomFieldValueTranslations
added
Query.multimediaFolder
added
MultimediaFolderCreateInput.createFolderPath
added
MultimediaCreateInput.folderName
removed
Mutation.multimediaSetFolder
removed
MultiSelectAttribute.optionList
added
MultiSelectAttribute.options
becomes deprecated. Use MultiSelectAttribute.optionList
instead
SelectAttribute.optionList
added
SelectAttribute.options
becomes deprecated. Use SelectAttribute.optionList
instead
Mutation.attributeMultiSelectAddOption
added
Mutation.attributeMultiSelectDeleteOption
added
Mutation.attributeMultiSelectSetOptionName
added
Mutation.attributeSelectAddOption
added
Mutation.attributeSelectDeleteOption
added
Mutation.attributeSelectSetOptionName
added
Mutation.multimediaReplace
added
Query.multimedia
added
MultimediaFolder.path
added
Mutation.multimediaMove
added
Mutation.multimediaFolderCreate
added
MultimediaCreateInput.folderPath
added
MultimediaCreateInput.folderName
becomes deprecated. If passed together with folderPath
this argument becomes disregarded
Mutation.multimediaSetFolder
becomes deprecated
MultiSelectAttributeValueTranslation.translatedValue
added
SelectAttributeValueTranslation.translatedValue
added
AttributeValue.valueTranslations
removed
TextareaAttributeValueTranslation.rawValue
added
Attribute.metadata
added
Mutation.attributeAddMetadata
added
Mutation.attributeDeleteMetadata
added
Mutation.multimediaSetFolder
added
Query.categoryAttributeList
added
Mutation.categoryAttributeAddAttribute
added
Mutation.categoryAttributeRemoveAttribute
added
Mutation.attributeSetLabel
removed
OptionInput.label
removed
Option.label
removed
Attribute.label
removed
label
removed from Attribute
create mutation input objects
AttributeCreateDateInput
AttributeCreateFileInput
AttributeCreateGalleryInput
AttributeCreateImageInput
AttributeCreateMultiSelectInput
AttributeCreateNumericInput
AttributeCreatePriceInput
AttributeCreateProductRelationInput
AttributeCreateSelectInput
AttributeCreateTextareaInput
AttributeCreateTextInput
AttributeCreateUnitInput
Category.attributeList
added
Mutation.categoryDeleteAttributeValueTranslations
added
Mutation.categoryAddAttributeValueTranslationsText
added
Mutation.categoryAddAttributeValueTranslationsTextarea
added
Mutation.categoryAddAttributeValueTranslationsNumeric
added
Mutation.categoryAddAttributeValueTranslationsPrice
added
Mutation.categoryAddAttributeValueTranslationsUnit
added
Mutation.categoryAddAttributeValueTranslationsImage
added
Mutation.categoryAddAttributeValueTranslationsGallery
added
Mutation.categoryAddAttributeValueTranslationsFile
added
Mutation.categoryAddAttributeValueTranslationsProductRelation
added
Mutation.categoryAddAttributeValueTranslationsDate
added
Mutation.categoryAddAttributeValueTranslationsSelect
added
Mutation.categoryAddAttributeValueTranslationsMultiSelect
added
GroupingProduct.childList
removed
Template.name
removed
Template.defaultLabel
removed
MultimediaCreateInput.folderName
added
AttributeValue.translations
added - represents the translation value type per Attribute
type. MultiSelectAttributeValue
and SelectAttributeValue
instead of simple OptionCode
provides entire Option
AttributeValue.valueTranslations
becomes deprecated
AttributeValue
implementations per Attribute
type added
TranslatedAttributeValue.inherited
removed
Query.languageTreeLeafList
removed
Template.attributeList
added
Query.templateList
added
Attribute.name
added - represents the same value as Attribute.label
field
Attribute.label
becomes deprecated
Option.name
added - represents the same value as Option.label
field
Option.label
becomes deprecated
OptionInput.name
added
if passed together with label
field it takes precedence
Mutation.attributeSetName
added
Mutation.attributeSetLabel
becomes deprecated
name
field added in Attribute
create mutation input objects. It replaces label
field. If passed together with it name
takes precedence
AttributeCreateDateInput
AttributeCreateFileInput
AttributeCreateGalleryInput
AttributeCreateImageInput
AttributeCreateMultiSelectInput
AttributeCreateNumericInput
AttributeCreatePriceInput
AttributeCreateProductRelationInput
AttributeCreateSelectInput
AttributeCreateTextareaInput
AttributeCreateTextInput
AttributeCreateUnitInput
Attribute.hint
removed
Attribute.placeholder
removed
Mutation.attributeSetHint
removed
Mutation.attributeSetPlaceholder
removed
placeholder
and hint
fields removed from Attribute
create mutation input objects
AttributeCreateDateInput
AttributeCreateFileInput
AttributeCreateGalleryInput
AttributeCreateImageInput
AttributeCreateMultiSelectInput
AttributeCreateNumericInput
AttributeCreatePriceInput
AttributeCreateProductRelationInput
AttributeCreateSelectInput
AttributeCreateTextareaInput
AttributeCreateTextInput
AttributeCreateUnitInput
Multimedia.title
added
Mutation.multimediaSetTitle
added
ProductGroupingAddChildInput.quantity
added
Mutation.productGroupingSetChildQuantity
added
GroupingProduct.childrenList
added
GroupingProduct.childList
becomes deprecated
Template.name
becomes deprecated
Template.defaultLabel
becomes deprecated
AttributeValue.code
removed
AttributeValue.value
removed
Option.attribute
removed
TranslatedAttributeValue.inherited
becomes deprecated
Query.languageTree
becomes deprecated
Query.languageList
added
language
field becomes nullable for(valid for global attributes only)
DateValueTranslationInput
FileValueTranslationInput
GalleryValueTranslationInput
ImageValueTranslationInput
MultiSelectValueTranslationInput
NumericValueTranslationInput
PriceValueTranslationInput
ProductRelationValueTranslationInput
SelectValueTranslationInput
TextareaValueTranslationInput
TextValueTranslationInput
UnitValueTranslationInput
Attribute.hint
becomes deprecated
Attribute.placeholder
becomes deprecated
Mutation.attributeSetHint
becomes deprecated
Mutation.attributeSetPlaceholder
becomes deprecated
Option.attribute
becomes deprecated
AttributeValue.valueTranslations
added
AttributeValue.value
becomes deprecated
Mutation schema has been added to the API. For a full list of mutations available use an introspection
every existing API key has preserved its read access but did not receive write access. In order to obtain write access create a new key with it
code
The code of a searched Attribute
.
after
Provides elements after the specified cursor.
first
Provides up to first n
results. Value cannot be less than 0 and higher than 200.
The default value is 50.
code
The code of a searched Attribute
.
filters
Filters for the query.
after
Provides elements after the specified cursor.
first
Provides up to first n
results. Value cannot be less than 0 and higher than 200.
The default value is 50.
after
Provides elements after the specified cursor.
first
Provides up to first n
results. Value cannot be less than 0 and higher than 200.
The default value is 50.
code
The code of a searched Category
.
after
Provides elements after the specified cursor.
first
Provides up to first n
results. Value cannot be less than 0 and higher than 500.
The default value is 50.
after
Provides elements after the specified cursor.
first
Provides up to first n
results. Value cannot be less than 0 and higher than 200.
The default value is 50.
after
Provides elements after the specified cursor.
first
Provides up to first n
results. Value cannot be less than 0 and higher than 200.
The default value is 50.
code
The code of a searched CategoryTree
.
after
Provides elements after the specified cursor.
first
Provides up to first n
results. Value cannot be less than 0 and higher than 200.
The default value is 50.
after
Provides elements after the specified cursor.
first
Provides up to first n
results. Value cannot be less than 0 and higher than 200.
The default value is 50.
after
Provides elements after the specified cursor.
first
Provides up to first n
results. Value cannot be less than 0 and higher than 1000.
The default value is 50.
path
The path of a searched Multimedia
.
path
The path of a searched MultimediaFolder
.
after
Provides elements after the specified cursor.
first
Provides up to first n
results. Value cannot be less than 0 and higher than 300.
The default value is 50.
after
Provides elements after the specified cursor.
first
Provides up to first n
results. Value cannot be less than 0 and higher than 200.
The default value is 50.
sku
The sku of a searched Product
.
attributeCode
The code of unique attribute Product
is searched by.
value
The value of unique attribute Product
is searched by.
after
Provides elements after the specified cursor.
first
Provides up to first n
results. Value cannot be less than 0 and higher than 200.
The default value is 50.
after
Provides elements after the specified cursor.
first
Provides up to first n
results. Value cannot be less than 0 and higher than 200.
The default value is 50.
variantSku
The Sku of variant to find a parent VariableProduct
.
code
The code of a searched Section
.
after
Provides elements after the specified cursor.
first
Provides up to first n
results. Value cannot be less than 0 and higher than 100.
The default value is 50.
code
The code of a searched Template
.
after
Provides elements after the specified cursor.
first
Provides up to first n
results. Value cannot be less than 0 and higher than 100.
The default value is 50.
Mutations allow modifing data on the server.
Adds Attribute
metadata.
Input fields:
input
Creates DateAttribute
Input fields:
input
Creates FileAttribute
Input fields:
input
Creates GalleryAttribute
Input fields:
input
Creates ImageAttribute
Input fields:
input
Creates MultiSelectAttribute
Input fields:
input
Creates NumericAttribute
Input fields:
input
Creates PriceAttribute
Input fields:
input
Creates ProductRelationAttribute
Input fields:
input
Creates SelectAttribute
Input fields:
input
Creates TextareaAttribute
Input fields:
input
Creates TextAttribute
Input fields:
input
Creates UnitAttribute
Input fields:
input
Sets a DateAttribute
format.
Input fields:
input
Deletes Attribute
.
Input fields:
input
Deletes Attribute
metadata.
Input fields:
input
Adds a MultiSelectAttribute
option.
Input fields:
input
Deletes a MultiSelectAttribute
option.
Input fields:
input
Sets a MultiSelectAttribute
option name.
Input fields:
input
Sets a MultiSelectAttribute
options.
Input fields:
input
Adds a custom field to OptionAttribute
.
Input fields:
input
Adds a custom field to OptionAttribute
.
Input fields:
input
Adds a custom field to OptionAttribute
.
Input fields:
input
Adds a custom field to OptionAttribute
.
Input fields:
input
Adds custom field value translations to an Option
.
Input fields:
input
Adds custom field value translations to an Option
.
Input fields:
input
Adds custom field value translations to an Option
.
Input fields:
input
Adds custom field value translations to an Option
.
Input fields:
input
Deletes custom field from an OptionAttribute
.
Input fields:
input
Deletes custom field value translations from a Option
.
Input fields:
input
Sets a PriceAttribute
currency.
Input fields:
input
Adds a SelectAttribute
option.
Input fields:
input
Deletes a SelectAttribute
option.
Input fields:
input
Sets a SelectAttribute
option name.
Input fields:
input
Sets a SelectAttribute
options.
Input fields:
input
Sets Attribute
name.
Input fields:
input
Sets a TextareaAttribute
richEdit.
Input fields:
input
Sets an UnitAttribute
unit.
Input fields:
input
Adds a DateAttribute
value translations to a category.
Input fields:
input
Adds a FileAttribute
value translations to a category.
Input fields:
input
Adds a GalleryAttribute
value translations to a category.
Input fields:
input
Adds a ImageAttribute
value translations to a category.
Input fields:
input
Adds a MultiSelectAttribute
value translations to a category.
Input fields:
input
Adds a NumericAttribute
value translations to a category.
Input fields:
input
Adds a PriceAttribute
value translations to a category.
Input fields:
input
Adds a ProductRelationAttribute
value translations to a category.
Input fields:
input
Adds a SelectAttribute
value translations to a category.
Input fields:
input
Adds a TextareaAttribute
value translations to a category.
Input fields:
input
Adds a TextAttribute
value translations to a category.
Input fields:
input
Adds a UnitAttribute
value translations to a category.
Input fields:
input
Adds an Attribute
as allowed to be used in Category
.
Input fields:
input
Removes an Attribute
as allowed to be used in Category
.
Input fields:
input
Creates a Category
.
Input fields:
input
Deletes an attribute value translations from a Category
.
Input fields:
input
Deletes a Category
.
Input fields:
input
Sets a Category
name.
Input fields:
input
Creates a Multimedia
.
Input fields:
input
Deletes a Multimedia
.
Input fields:
input
Creates a MultimediaFolder
.
Input fields:
input
Deletes a MultimediaFolder
.
Input fields:
input
Moves a Multimedia
to MultimediaFolder
. Multimedia.path
identifier is changed as a result.
Input fields:
input
Replaces a Multimedia
with given MultimediaPath
. As a result new Multimedia
is created, all relations to it are replaced with a new resource, and the existing one is deleted.
Input fields:
input
Sets a Multimedia
alt.
Input fields:
input
Sets a Multimedia
name.
Input fields:
input
Sets a Multimedia
title.
Input fields:
input
Adds a DateAttribute
value translations to a product.
Input fields:
input
Adds a FileAttribute
value translations to a product.
Input fields:
input
Adds a GalleryAttribute
value translations to a product.
Input fields:
input
Adds a ImageAttribute
value translations to a product.
Input fields:
input
Adds a MultiSelectAttribute
value translations to a product.
Input fields:
input
Adds a NumericAttribute
value translations to a product.
Input fields:
input
Adds a PriceAttribute
value translations to a product.
Input fields:
input
Adds a ProductRelationAttribute
value translations to a product.
Input fields:
input
Adds a SelectAttribute
value translations to a product.
Input fields:
input
Adds a TextareaAttribute
value translations to a product.
Input fields:
input
Adds a TextAttribute
value translations to a product.
Input fields:
input
Adds a UnitAttribute
value translations to a product.
Input fields:
input
Adds a product to categories.
Input fields:
input
Creates a GroupingProduct
.
Input fields:
input
Creates a SimpleProduct
.
Input fields:
input
Creates a VariableProduct
.
Input fields:
input
Deletes an attribute value translations from a Product
.
Input fields:
input
Deletes a product.
Input fields:
input
Adds a child product to a GroupingProduct
.
Input fields:
input
Removes a child product from a GroupingProduct
.
Input fields:
input
Set a child product quantity of a GroupingProduct
.
Input fields:
input
Removes a product from categories.
Input fields:
input
Sets a product status.
Input fields:
input
Sets a product Template
.
Input fields:
input
Adds a variant product to a VariableProduct
.
Input fields:
input
Removes a variant product from a VariableProduct
.
Input fields:
input
Sets binding attributes to VariableProduct
.
Input fields:
input
Scalars represent primitive values like Integer or String.
Represents true
or false
.
Represents a currency code in ISO 4217 format. Example: PLN
.
Represents a date formatted in one of the: yyyy-MM-dd
, yy-MM-dd
, dd.MM.yy
, dd.MM.yyyy
, MM/dd/yy
, MM/dd/yyyy
, MMMM dd, yyyy
, dd MMMM yyyy
, dd MMM yyyy
Represents an ISO 8601 date. Example: 2021-04-09T17:25:26+00:00
Represents signed double-precision fractional values as specified by IEEE 754.
Represents non-fractional signed whole numeric values.
Represents a 5 chars LCID language code. Example: pl_PL
.
Represents textual data, represented as UTF-8 character sequences. The String
type is most often used by GraphQL to represent free-form human-readable text.
Enums represent a predefined sets o values.
Values:
Value translation is set individually in every language.
Value translation is the same in every language.
Values:
Do not modify related products.
Set backward relations to the modified product only in its newly related products. Already related products remain unmodified.
Set backward relations to the modified product in all its related products.
Queries in GraphQL are created by opening curly brackets.
If we have more than one query, we need to name them and specify that this is the query, we do it as follows.
An example of a simple query that will return the value of "pageInfo" from the "productStream" branch, and from there provide the value of "endCursor". Additionally, from the "productStream" branch, it will return the value "totalCount". Think of it as a tree, a branch, and a leaf. To get information from a leaf, you must first reach it by going through all the steps one by one. Each subsequent indentation must be called using the next curly bracket. Until it's closed, we are constantly working within the same space.
For better understanding, I've stretched the code below to reflect these indents.
The query can also use arguments. The list of available parameters can be found in the API schema(documentation). Here, we will use the "first" argument.
Without using this argument, the system would return all the data it finds, here we want to limit ourselves to the first 2 results.
It is also possible, to refer to the same place with several arguments, in this example we wanted to get the first 2 results and the then results after something.
However, the above query will not work without a slight modification. If to a given object we refer more than once, we must use aliases. Below I used two aliases: "firstTwo" and "dataAfter". Remember to use a colon after the alias.
Note that in the query (the previous one, not the one about available cursors) we call the same "totalCount" data 2 times unnecessarily. We can simplify this by using fragments.
The following query will return us exactly the same data as the previous one.
Of course, if I'm querying only one thing, there's no point in throwing it into a fragment.
However, if there were more objects or the query was more complicated, fragments allow us to optimize it.
In GraphQL it is also possible to use variables, variables are usually passed on by programming languages, but for the sake of completeness, I will show you how to use them.
Before the first curly bracket, I open a round bracket and define ( with the $ sign ) a variable named x in it, then I make a colon and a space and define the type of the variable, in this example, it will be Int (Integer). I could be done here, but I still would like to define a default value, so I put an equals sign followed by "2".
Then in the place where the variable should be passed I simply call it bt $x:
Queries can also use directives. In other words, conditional statements.
I'm going to add a second variable to my query named condition and set its type to Boolean, with the default value true.
Then after pageInfo I placed @include(if: $condition) directive.
Since I have previously set the default value of the $condition variable to true, the condition will be met and the data will show up, but if I change it to false, the data will not.
This is how you can get a list of products with ALL attribute types, if you do not need all of them, simply remove any fragment that is not needed
Input objects represent a set of fields allowing describing mutation.
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Input fields:
Objects represent the resources you can access.
A payload for a mutation.
Fields:
Fields:
An edge in a connection.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
Fields:
An edge in a connection.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
Fields:
An edge in a connection.
Fields:
Represents a category.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
Fields:
An edge in a connection.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
Fields:
An edge in a connection.
Fields:
A payload for a mutation.
Fields:
Represent a tree of categories.
Fields:
Fields:
Fields:
An edge in a connection.
Fields:
An edge in a connection.
Fields:
Represents a leaf (node) of a category tree.
Fields:
Fields:
An edge in a connection.
Fields:
Represents a date.
Implements:
Fields:
An attribute value.
Implements:
Fields:
Translation of an attribute value.
Implements:
Fields:
Represents a collection of multimedia files of any type.
Implements:
An attribute value.
Implements:
Fields:
Translation of an attribute value.
Implements:
Fields:
Represents a collection of images.
Implements:
An attribute value.
Implements:
Fields:
Translation of an attribute value.
Implements:
Fields:
Fields:
Fields:
An edge in a connection.
Fields:
A product grouping other products. Can represent products like the ones with common features or promotional packages.
Implements:
Fields:
Represents an image.
Implements:
An attribute value.
Implements:
Fields:
Translation of an attribute value.
Implements:
Fields:
Represents an image.
Implements:
Represents an image translated value.
Implements:
Fields:
A custom field value.
Implements:
Fields:
Translation of a custom field value.
Implements:
Fields:
Fields:
An edge in a connection.
Fields:
Represents a metadatum of an attribute.
Fields:
Represents a multimedia file. The multimedia can be a text file, image, document file, etc.
Fields:
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
An edge in a connection.
Fields:
Represents a filesystem-like folder allowing to organize multimedia. Does not correspond to the physical file path or its URL.
Fields:
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
An edge in a connection.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
Represents a set of options allowing multiple choices.
Implements:
An attribute value.
Implements:
Fields:
Translation of an attribute value.
Implements:
Fields:
Represents a number.
Implements:
An attribute value.
Implements:
Fields:
Translation of an attribute value.
Implements:
Fields:
Represents an option of a select and multi-select attribute.
Fields:
Fields:
An edge in a connection.
Fields:
Represents an option of a select and multi-select attribute.
Fields:
Simple representation of an Option of select and multi-select attributes with the name in a specific language only.
Fields:
Information about pagination in a connection.
Fields:
Represents a positive price of a specific currency.
Implements:
Fields:
An attribute value.
Implements:
Fields:
Translation of an attribute value.
Implements:
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
Fields:
A payload for a mutation.
Fields:
An edge in a connection.
Fields:
A payload for a mutation.
Fields:
An edge in a connection.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
Represents a relation to the collection of products.
Implements:
An attribute value.
Implements:
Fields:
Translation of an attribute value.
Implements:
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A product status.
Fields:
A product status translation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
A payload for a mutation.
Fields:
Represents a set of common attributes - technical data, SEO-related parameters, etc.
Fields:
Fields:
An edge in a connection.
Fields:
Represents a set of options allowing single choice.
Implements:
An attribute value.
Implements:
Fields:
Translation of an attribute value.
Implements:
Fields:
A simple product.
Implements:
Represents a set of attributes specific to a market segment.
Fields:
Fields:
An edge in a connection.
Fields:
Represents a text.
Implements:
Fields:
An attribute value.
Implements:
Fields:
Translation of an attribute value.
Implements:
Fields:
Represents a text.
Implements:
Represents a text translated value.
Implements:
Fields:
A custom field value.
Implements:
Fields:
Translation of a custom field value.
Implements:
Fields:
Represents a text with RTE enabled.
Implements:
Represents a text with RTE translated value.
Implements:
Fields:
A custom field value.
Implements:
Fields:
Translation of a custom field value.
Implements:
Fields:
Represents a short text of up to 255 chars.
Implements:
An attribute value.
Implements:
Fields:
Translation of an attribute value.
Implements:
Fields:
Represents a short text of up to 255 chars.
Implements:
Represents a text translated value.
Implements:
Fields:
A custom field value.
Implements:
Fields:
Translation of a custom field value.
Implements:
Fields:
Represents a translated value.
Fields:
Represents a unit. Can be used to define specific scalar types like a Meter.
Fields:
Represents a numeric scalar unit.
Implements:
Fields:
An attribute value.
Implements:
Fields:
Translation of an attribute value.
Implements:
Fields:
A product representing multiple variants i.e. products of different sizes or colors.
Fields:
GraphQL API requires to be authenticated in order to process requests.
In order to obtain access to API resources, an API key is required to be sent along with the appropriate GraphQL query as an HTTP header - X-API-KEY
.
By default, the API key grants you access to queries, meaning you can only read data. If mutations(write) access is required you need to specify write access on key creation.
A regular API key provides you with access to the entire product catalog. It is also possible to limit that by assigning a segment while creating the key. If assigned the consumer will only have access to the products available in the specific segment. This also means that, if write access is granted, you'll be able only to modify the data of products available within the segment.
The only exception from that is when the product is created in batch request with further mutations - though possibly not yet part of the segment since you are the creator of it you can modify its data within this request.
Segment recalculation is an asynchronous process, therefore, sending mutations in separate requests(create and then update) can fail on update - access can not yet be granted.
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
!
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Returns:
Represents a lowercased, alphanumerical, and _
textual identifier of 1-128 chars in length. It cannot be id
or start with esa_
.
Represents a lowercased, alphanumerical, and _
textual identifier of 1-128 chars in length.
Represents a textual identifier of 1-128 chars in length.
Represents a lowercased, alphanumerical, and _
textual identifier in a single context of 1-128 chars in length.
Represents an alphanumeric and _
key of 1-128 chars in length.
Represents an alphanumeric, \
, -
and _
textual name of 1-255 chars in length.
Represents a textual combination of scalars joined with /
identifier pointing to its exact location.
Represents a not containing /
textual name of 1-128 chars in length.
Represents a textual combination of , and joined with /
identifier pointing to its exact location.
Represents a textual identifier in a single context of 1-128 chars in length.
Represents a textual identifier of 3-32 chars in length.
Represents a textual identifier of 1-255 chars in length.
Represents a textual identifier of 1-128 chars in length.
Represents a textual identifier of 3-32 chars in length.
Represents a textual name of 1-255 chars in length.
Represents the behavior of language translation of values.
Represents the behavior of language translation of values.
Determines the behavior of value.
The connection for
The connection for
The connection for
The connection for
The connection for
The connection for
The connection for
The connection for
Represents a product grouped in with a specific quantity for the set.
The connection for
The connection for
The connection for
The connection for
The connection for
The connection for
The connection for
The connection for
The connection for
The best approach for keys assigned to the segment is to create and update the product in .
API mutations are designed to be very small and atomic on purpose - thanks to that design, you don't have to prefetch data to send it back to the server and worry only about the actual change you want to perform.
On the other hand, occasionally your intention is to create or change resources with data that a single mutation does not handle. GraphQL comes in handy here - thanks to its design you can batch mutations(and queries) which means that multiple operations can be performed in one, single request - this not only makes it easier to make updates but also speeds up operations.
This will allow you to get list of first 100 product no matter if they're simple or variable.
Note: the following examples are based on the API Stream integration concept - if you are not yet familiar with it check an overview of the Query types to understand the approach.
example response:
Since we received information that the next page exists data.categoryStream.pageInfo.hasNextPage=true
we should request the next resource. The query is very similar to the previous one except we are passing the appropriate cursor
with the request:
example response:
we do know that there is no next page, therefore, there is nothing to fetch at the very moment. We can retry the next request(for the retrieved cursor) with i.e., an increased interval not to waste resources.
Alternatively in some systems, we will want only to fetch the identifier of the resource using some sort of queueing system in order to distribute the consumption processes. In that case, we can just fetch our resource ID (code in the case of categories) and the PageInfo
object:
and fetch it in the separate consuming process via a single resource query:
The rest of the process looks the same for the paginating over the stream.
This is how you can get data after some cursor via API.
code
The code of Attribute
the mutation to be performed on.
metadata
Metadata to be set.
code
Code of Attribute
.
scope
Scope of Attribute
.
name
Name of Attribute
.
format
Format of Attribute
.
code
Code of Attribute
.
scope
Scope of Attribute
.
name
Name of Attribute
.
code
Code of Attribute
.
scope
Scope of Attribute
.
name
Name of Attribute
.
code
Code of Attribute
.
scope
Scope of Attribute
.
name
Name of Attribute
.
code
Code of Attribute
.
scope
Scope of Attribute
.
name
Name of Attribute
.
options
Options of Attribute
.
code
Code of Attribute
.
scope
Scope of Attribute
.
name
Name of Attribute
.
code
Code of Attribute
.
scope
Scope of Attribute
.
name
Name of Attribute
.
currency
Currency of Attribute
.
code
Code of Attribute
.
scope
Scope of Attribute
.
name
Name of Attribute
.
code
Code of Attribute
.
scope
Scope of Attribute
.
name
Name of Attribute
.
options
Options of Attribute
.
code
Code of Attribute
.
scope
Scope of Attribute
.
name
Name of Attribute
.
richEdit
Is rich edit enabled.
code
Code of Attribute
.
scope
Scope of Attribute
.
name
Name of Attribute
.
code
Code of Attribute
.
scope
Scope of Attribute
.
name
Name of Attribute
.
unitName
Unit name for Attribute
.
code
The code of Attribute
the mutation to be performed on.
format
Format of Attribute
.
code
The code of Attribute
the mutation to be performed on.
code
The code of Attribute
the mutation to be performed on.
metadataKeys
Metadata keys to be deleted.
code
The code of Attribute
the mutation to be performed on.
option
Option to be added.
code
The code of Attribute
the mutation to be performed on.
optionCode
Option to be deleted.
code
The code of Attribute
the mutation to be performed on.
optionCode
Option to be changed.
optionName
Option name to be set.
code
The code of Attribute
the mutation to be performed on.
options
Options to be set.
code
The code of Attribute
the mutation to be performed on.
customFieldCode
Code of the custom field to be configured.
code
The code of Attribute
the mutation to be performed on.
customFieldCode
Code of the custom field to be configured.
code
The code of Attribute
the mutation to be performed on.
customFieldCode
Code of the custom field to be configured.
code
The code of Attribute
the mutation to be performed on.
customFieldCode
Code of the custom field to be configured.
code
The code of Attribute
the mutation to be performed on.
optionCode
Option to be changed.
customFieldCode
Code of the custom field to be configured.
translations
Translations of the value to be added.
code
The code of Attribute
the mutation to be performed on.
optionCode
Option to be changed.
customFieldCode
Code of the custom field to be configured.
translations
Translations of the value to be added.
code
The code of Attribute
the mutation to be performed on.
optionCode
Option to be changed.
customFieldCode
Code of the custom field to be configured.
translations
Translations of the value to be added.
code
The code of Attribute
the mutation to be performed on.
optionCode
Option to be changed.
customFieldCode
Code of the custom field to be configured.
translations
Translations of the value to be added.
code
The code of Attribute
the mutation to be performed on.
customFieldCode
Code of the custom field to be deleted.
code
The code of Attribute
the mutation to be performed on.
optionCode
Option to be changed.
customFieldCode
Code of the custom field changed.
languages
Languages the translations to be deleted in.
optionCodes
Option codes to be filtered by.
optionNames
Option names to be filtered by.
code
The code of Attribute
the mutation to be performed on.
currency
Currency to be set.
code
The code of Attribute
the mutation to be performed on.
option
Option to be added.
code
The code of Attribute
the mutation to be performed on.
optionCode
Option to be deleted.
code
The code of Attribute
the mutation to be performed on.
optionCode
Option to be changed.
optionName
Option name to be set.
code
The code of Attribute
the mutation to be performed on.
options
Options to be set.
code
The code of Attribute
the mutation to be performed on.
name
Name to be set.
code
The code of Attribute
the mutation to be performed on.
richEdit
Is rich edit enabled.
code
The code of Attribute
the mutation to be performed on.
unitName
Unit to be set.
categoryCode
The code of Category
the mutation to be performed on.
attributeCode
The code of Attribute
adding value to.
translations
Translations of the value to be added.
categoryCode
The code of Category
the mutation to be performed on.
attributeCode
The code of Attribute
adding value to.
translations
Translations of the value to be added.
categoryCode
The code of Category
the mutation to be performed on.
attributeCode
The code of Attribute
adding value to.
translations
Translations of the value to be added.
categoryCode
The code of Category
the mutation to be performed on.
attributeCode
The code of Attribute
adding value to.
translations
Translations of the value to be added.
categoryCode
The code of Category
the mutation to be performed on.
attributeCode
The code of Attribute
adding value to.
translations
Translations of the value to be added.
categoryCode
The code of Category
the mutation to be performed on.
attributeCode
The code of Attribute
adding value to.
translations
Translations of the value to be added.
categoryCode
The code of Category
the mutation to be performed on.
attributeCode
The code of Attribute
adding value to.
translations
Translations of the value to be added.
categoryCode
The code of Category
the mutation to be performed on.
attributeCode
The code of Attribute
adding value to.
translations
Translations of the value to be added.
categoryCode
The code of Category
the mutation to be performed on.
attributeCode
The code of Attribute
adding value to.
translations
Translations of the value to be added.
categoryCode
The code of Category
the mutation to be performed on.
attributeCode
The code of Attribute
adding value to.
translations
Translations of the value to be added.
categoryCode
The code of Category
the mutation to be performed on.
attributeCode
The code of Attribute
adding value to.
translations
Translations of the value to be added.
categoryCode
The code of Category
the mutation to be performed on.
attributeCode
The code of Attribute
adding value to.
translations
Translations of the value to be added.
attributeCode
The code of Attribute
to be added.
attributeCode
The code of Attribute
to be removed.
code
The code of Category
.
name
The name of Category
.
code
The code of Category
the mutation to be performed on.
attributeCode
The code of Attribute
deleting value from.
languages
Languages the translations to be deleted in.
code
The code of Category
the mutation to be performed on.
code
The code of Category
the mutation to be performed on.
name
Name to be set.
language
value
Translation value to be set.
language
value
Translation value to be set.
language
value
Translation value to be set.
language
Language the translation to be added in.
value
Translation value to be set.
language
value
Translation value to be set.
key
Key of the metadata value to be set on.
value
Value to be set.
name
The name of Multimedia
.
folderPath
Folder Multimedia
to be put in.
path
The path of Multimedia
the mutation to be performed on.
name
The name of MultimediaFolder
.
folderPath
Folder MultimediaFolder
to be put in.
createFolderPath
Creates folderPath if does not exist. Defaults to false
.
path
The path of MultimediaFolder
the mutation to be performed on.
path
The path of Multimedia
the mutation to be performed on.
folderPath
Folder Multimedia
to be put in.
path
The path of Multimedia
the mutation to be performed on.
path
The path of Multimedia
the mutation to be performed on.
alt
Alt to be set.
path
The path of Multimedia
the mutation to be performed on.
name
Name to be set.
path
The path of Multimedia
the mutation to be performed on.
title
Title to be set.
language
value
Translation value to be set.
language
value
Translation value to be set.
code
Code of the Option
to be used.
name
Name to be set.
language
value
Translation value to be set.
sku
The sku of Product
the mutation to be performed on.
attributeCode
The code of Attribute
adding value to.
translations
Translations of the value to be added.
sku
The sku of Product
the mutation to be performed on.
attributeCode
The code of Attribute
adding value to.
translations
Translations of the value to be added.
sku
The sku of Product
the mutation to be performed on.
attributeCode
The code of Attribute
adding value to.
translations
Translations of the value to be added.
sku
The sku of Product
the mutation to be performed on.
attributeCode
The code of Attribute
adding value to.
translations
Translations of the value to be added.
sku
The sku of Product
the mutation to be performed on.
attributeCode
The code of Attribute
adding value to.
translations
Translations of the value to be added.
sku
The sku of Product
the mutation to be performed on.
attributeCode
The code of Attribute
adding value to.
translations
Translations of the value to be added.
sku
The sku of Product
the mutation to be performed on.
attributeCode
The code of Attribute
adding value to.
translations
Translations of the value to be added.
sku
The sku of Product
the mutation to be performed on.
attributeCode
The code of Attribute
adding value to.
translations
Translations of the value to be added.
twoWayRelation
Determines behavior of the value. Defaults to None
sku
The sku of Product
the mutation to be performed on.
attributeCode
The code of Attribute
adding value to.
translations
Translations of the value to be added.
sku
The sku of Product
the mutation to be performed on.
attributeCode
The code of Attribute
adding value to.
translations
Translations of the value to be added.
sku
The sku of Product
the mutation to be performed on.
attributeCode
The code of Attribute
adding value to.
translations
Translations of the value to be added.
sku
The sku of Product
the mutation to be performed on.
attributeCode
The code of Attribute
adding value to.
translations
Translations of the value to be added.
sku
The sku of Product
the mutation to be performed on.
categoryCodes
Categories to be added.
sku
Sku of Product
.
templateCode
Template of Product
.
categoryCode
Categories of Product
.
sku
Sku of Product
.
templateCode
Template of Product
.
categoryCode
Categories of Product
.
sku
Sku of Product
.
templateCode
Template of Product
.
categoryCode
Categories of Product
.
sku
The sku of Product
the mutation to be performed on.
attributeCode
The code of Attribute
deleting value from.
languages
Languages the translations to be deleted in.
sku
The sku of Product
the mutation to be performed on.
sku
The sku of Product
the mutation to be performed on.
childSku
Child to be added.
quantity
Quantity the child to be added in.
sku
The sku of Product
the mutation to be performed on.
childSku
Child to be removed.
sku
The sku of Product
the mutation to be performed on.
childSku
Child quantity to be modified.
quantity
Quantity to be set.
language
value
Translation value to be set.
sku
The sku of Product
the mutation to be performed on.
categoryCodes
Categories to be removed.
sku
The sku of Product
the mutation to be performed on.
statusCode
Status to be set.
language
Language the status to be set in.
sku
The sku of Product
the mutation to be performed on.
template
Template to be set.
sku
The sku of Product
the mutation to be performed on.
variantSku
Variant to be added.
sku
The sku of Product
the mutation to be performed on.
variantSku
Variant to be removed.
sku
The sku of Product
the mutation to be performed on.
bindingCodes
Binding attributes to be set.
language
value
Translation value to be set.
language
Language the translation to be added in.
value
Translation value to be set.
language
Language the translation to be added in.
value
Translation value to be set.
language
value
Translation value to be set.
Accepts Attribute Variables in format {{#attribute_code}}
.
language
Language the translation to be added in.
value
Translation value to be set.
language
value
Translation value to be set.
language
Language the translation to be filtered in.
value
Translation value to be filtered by.
language
Language the translation to be added in.
value
Translation value to be set.
language
value
Translation value to be set.
attribute
Changed Attribute
.
edges
Edges of the connection.
pageInfo
Page info of the connection.
totalCount
Count of all edges in connection.
node
Node of the Edge.
cursor
The Edge cursor.
attribute
Created Attribute
.
attribute
Created Attribute
.
attribute
Created Attribute
.
attribute
Created Attribute
.
attribute
Created Attribute
.
attribute
Created Attribute
.
attribute
Created Attribute
.
attribute
Created Attribute
.
attribute
Created Attribute
.
attribute
Created Attribute
.
attribute
Created Attribute
.
attribute
Created Attribute
.
attribute
Changed Attribute
.
attribute
Changed Attribute
.
code
Deleted AttributeCode
.
edges
Edges of the connection.
pageInfo
Page info of the connection.
totalCount
Count of all edges in connection.
node
Node of the Edge.
cursor
The Edge cursor.
attribute
Changed Attribute
.
attribute
Changed Attribute
.
attribute
Changed Attribute
.
attribute
Changed Attribute
.
attribute
Changed Attribute
.
attribute
Changed Attribute
.
attribute
Changed Attribute
.
attribute
Changed Attribute
.
attribute
Changed Attribute
.
attribute
Changed Attribute
.
attribute
Changed Attribute
.
attribute
Changed Attribute
.
attribute
Changed Attribute
.
attribute
Changed Attribute
.
attribute
Changed Attribute
.
attribute
Changed Attribute
.
attribute
Changed Attribute
.
attribute
Changed Attribute
.
attribute
Changed Attribute
.
attribute
Changed Attribute
.
attribute
Changed Attribute
.
attribute
Changed Attribute
.
edges
Edges of the connection.
pageInfo
Page info of the connection.
totalCount
Count of all edges in connection.
node
Node of the Edge.
cursor
The Edge cursor.
code
Readable id of Category
.
Translatable name allowing to set different values in every active language.
A list of attribute values.
first
argument cannot be lesser than 0 and its default value is 50.
category
Changed Category
.
category
Changed Category
.
category
Changed Category
.
category
Changed Category
.
category
Changed Category
.
category
Changed Category
.
category
Changed Category
.
category
Changed Category
.
category
Changed Category
.
category
Changed Category
.
category
Changed Category
.
category
Changed Category
.
categoryAttributeList
Updated list of attributes.
categoryAttributeList
Updated list of attributes.
edges
Edges of the connection.
pageInfo
Page info of the connection.
totalCount
Count of all edges in connection.
node
Node of the Edge.
cursor
The Edge cursor.
category
Created Category
.
category
Changed Category
.
code
Deleted CategoryCode
.
edges
Edges of the connection.
pageInfo
Page info of the connection.
totalCount
Count of all edges in connection.
node
Node of the Edge.
cursor
The Edge cursor.
category
Changed Category
.
code
Readable id of CategoryTree
.
Translatable name allowing to set different values in every active language.
A list of categories belonging to the CategoryTree
.
first
argument cannot be lesser than 0, higher than 1000 and its default value is 50.
edges
Edges of the connection.
pageInfo
Page info of the connection.
totalCount
Count of all edges in connection.
edges
Edges of the connection.
pageInfo
Page info of the connection.
totalCount
Count of all edges in connection.
node
Node of the Edge.
cursor
The Edge cursor.
node
Node of the Edge.
cursor
The Edge cursor.
category
A leaf of the tree.
parentCategory
Parent leaf of to leaf.
edges
Edges of the connection.
pageInfo
Page info of the connection.
totalCount
Count of all edges in connection.
node
Node of the Edge.
cursor
The Edge cursor.
format
Represented date format.
attribute
An Attribute
describing the value.
A value translations.
value
A translation value of an Attribute
.
attribute
An Attribute
describing the value.
A value translations.
value
A translation value of an Attribute
.
attribute
An Attribute
describing the value.
A value translations.
value
A translation value of an Attribute
.
quantity
Quantity of a grouped Product
.
product
Grouped Product
.
edges
Edges of the connection.
pageInfo
Page info of the connection.
totalCount
Count of all edges in connection.
node
Node of the Edge.
cursor
The Edge cursor.
A list of children.
first
argument cannot be lesser than 0 and its default value is 50.
attribute
An Attribute
describing the value.
A value translations.
value
A translation value of an Attribute
.
customField
A CustomField
describing the value.
value
A value in the context language.
customField
A CustomField
describing the value.
A value translations.
value
A translation value of a CustomField
.
edges
Edges of the connection.
pageInfo
Page info of the connection.
totalCount
Count of all edges in connection.
node
Node of the Edge.
cursor
The Edge cursor.
key
A key of metadatum.
value
Metadata value.
path
Readable id of Multimedia
.
name
Given file name.
extension
File extension.
mime
Mime type of the file.
size
File size in bytes.
Represents the alternate text for an image if it cannot be displayed.
Represents the title tooltip value.
url
URL to download binary multimedia file.
folder
Folder where multimedia is stored.
edges
Edges of the connection.
pageInfo
Page info of the connection.
totalCount
Count of all edges in connection.
multimedia
Created Multimedia
.
path
Deleted MultimediaPath
.
node
Node of the Edge.
cursor
The Edge cursor.
path
Readable id of MultimediaFolder
.
name
Name of MultimediaFolder
.
edges
Edges of the connection.
pageInfo
Page info of the connection.
totalCount
Count of all edges in connection.
multimediaFolder
Changed MultimediaFolder
.
path
Deleted MultimediaFolderPath
.
node
Node of the Edge.
cursor
The Edge cursor.
multimedia
Changed Multimedia
.
multimedia
Replacing Multimedia
.
multimedia
Changed Multimedia
.
multimedia
Changed Multimedia
.
multimedia
Changed Multimedia
.
multimedia
Changed Multimedia
.
attribute
An Attribute
describing the value/
A value translations.
translatedValue
Represents simplified translated value containing scalar names in context language only.
value
A translation value of an Attribute
.
attribute
An Attribute
describing the value.
A value translations.
value
A translation value of an Attribute
.
code
Readable id of Option
.
Translatable name allowing to set different values in every active language.
customFields
CustomField
values.
edges
Edges of the connection.
pageInfo
Page info of the connection.
totalCount
Count of all edges in connection.
node
Node of the Edge.
cursor
The Edge cursor.
code
Readable id of Option
.
Translatable name allowing to set different values in every active language.
code
Code of Option
.
name
Option
name in the context language.
startCursor
When paginating backwards, the cursor to continue.
endCursor
When paginating forwards, the cursor to continue.
hasPreviousPage
When paginating backwards, are there more items?
hasNextPage
When paginating forwards, are there more items?
currency
The currency price is in.
attribute
An Attribute
describing the value.
A value translations.
value
A translation value of an Attribute
.
product
Changed Product
.
product
Changed Product
.
product
Changed Product
.
product
Changed Product
.
product
Changed Product
.
product
Changed Product
.
product
Changed Product
.
product
Changed Product
.
product
Changed Product
.
product
Changed Product
.
product
Changed Product
.
product
Changed Product
.
product
Changed Product
.
edges
Edges of the connection.
pageInfo
Page info of the connection.
totalCount
Count of all edges in connection.
product
Created Product
.
product
Created Product
.
product
Created Product
.
edges
Edges of the connection.
pageInfo
Page info of the connection.
totalCount
Count of all edges in connection.
product
Changed Product
.
node
Node of the Edge.
cursor
The Edge cursor.
sku
Deleted Sku
.
node
Node of the Edge.
cursor
The Edge cursor.
product
Changed Product
.
product
Changed Product
.
product
Changed Product
.
attribute
An Attribute
describing the value.
A value translations.
value
A translation value of an Attribute
.
product
Changed Product
.
product
Changed Product
.
product
Changed Product
.
code
Readable id of ProductStatus
.
translatedName
Represents translated name in the context language.
language
Language of status.
value
Status value.
product
Changed Product
.
product
Changed Product
.
product
Changed Product
.
code
Readable id of Section
.
A list of attributes used in the Section
.
first
argument cannot be lesser than 0 and its default value is 50.
edges
Edges of the connection.
pageInfo
Page info of the connection.
totalCount
Count of all edges in connection.
node
Node of the Edge.
cursor
The Edge cursor.
attribute
An Attribute
describing the value.
A value translations.
translatedValue
Represents simplified translated value containing scalar names in context language only.
value
A translation value of an Attribute
.
code
Readable id of Template
.
A list of attributes used in the Template
.
first
argument cannot be lesser than 0 and its default value is 50.
A list of sections used in the Template
.
first
argument cannot be lesser than 0 and its default value is 50.
edges
Edges of the connection.
pageInfo
Page info of the connection.
totalCount
Count of all edges in connection.
node
Node of the Edge.
cursor
The Edge cursor.
richEdit
Is rich text editor enabled.
attribute
An Attribute
describing the value.
A value translations.
value
A translation value of an Attribute
.
rawValue
Represents raw textarea value translation with attribute variables unresolved in form of {{#attribute_code}}
.
customField
A CustomField
describing the value.
value
A value in the context language.
customField
A CustomField
describing the value.
A value translations.
value
A translation value of a CustomField
.
customField
A CustomField
describing the value.
value
A value in the context language.
customField
A CustomField
describing the value.
A value translations.
value
A translation value of a CustomField
.
attribute
An Attribute
describing the value.
A value translations.
value
A translation value of an Attribute
.
customField
A CustomField
describing the value.
value
A value in the context language.
customField
A CustomField
describing the value.
A value translations.
value
A translation value of a CustomField
.
value
Tranlated value.
language
Language of translation.
name
Name o Unit
.
symbol
Symbol of Unit
.
unit
Unit of Attribute
.
attribute
An Attribute
describing the value.
A value translations.
value
A translation value of an Attribute
.
bindings
A list of attributes by which variants are bonded.
A list of variants in VariableProduct
.
first
argument cannot be lesser than 0 and its default value is 50.
This is an example of how you can get values of specific attributes in specific languages of a specific product using pagination.
This query will return all multimedia in PIM and extra info about them.
This is how you can create a simple product via API.
You can also assign a category to the newly created product in the same query.
Example query on how to get values of custom fields options
This is how you can create a simple product via API.
You can also assign a category to the newly created product in the same query.
Language the translation to be added in. Allowed empty only in case of scope.
Language the translation to be added in. Allowed empty only in case of scope.
Language the translation to be added in. Allowed empty only in case of scope.
Language the translation to be added in. Allowed empty only in case of scope.
Language the translation to be added in. Allowed empty only in case of scope.
Language the translation to be added in. Allowed empty only in case of scope.
Language the translation to be added in. Allowed empty only in case of scope.
Language the translation to be added in. Allowed empty only in case of scope.
Language the translation to be added in. Allowed empty only in case of scope.
Language the translation to be added in. Allowed empty only in case of scope.
Language the translation to be added in. Allowed empty only in case of scope.
Language the translation to be added in. Allowed empty only in case of scope.
name (languages: )
attributeList (after: , first: , codes: )
name (languages: )
categoryTreeLeafList (after: , first: )
translations (languages: )
translations (languages: )
translations (languages: )
childrenList (after: , first: )
translations (languages: )
translations (languages: )
alt (languages: )
title (languages: )
translations (languages: )
translations (languages: )
name (languages: )
name (languages: )
translations (languages: )
translations (languages: )
attributeList (after: , first: )
translations (languages: )
attributeList (after: , first: )
sectionList (after: , first: )
translations (languages: )
translations (languages: )
translations (languages: )
translations (languages: )
translations (languages: )
translations (languages: )
variantList (after: , first: )
Please keep in mind that this is just an example and more data can be pulled. How to deal with other attribute types can be seen in the fragment AttributeValue .
This is how you remove child product from grouping one via API.
Here's how you can set child product quantity via API.
Here's how to add variant to variable product via API.
This is how you can create variable product via API.
That's how you add child product to grouping one.
This is how you can remove variant product from variable one via API
This is how you can set alternative value to a single multimedia via API.
This is how you can change the name of single multimedia via API.
This is how you can query GraphQL API on product attributes by SKU
The path to the file can be found with this .