UnchainedShop API API Reference

Welcome to unchained API documentation

API Endpoints
Development Server:
https://engine.unchained.shop/graphql
Terms of Service: https://github.com/unchainedshop/unchained/blob/master/docs/contributing.md
Contact: hello@unchained.shop
Version: 1.0.0

Queries

assortment

Get a specific assortment by ID

assortmentId:
string

(no description)

slug:
string

(no description)

Example

Request Content-Types: application/json
Query
query assortment($assortmentId: ID, $slug: String){
  assortment(assortmentId: $assortmentId, slug: $slug){
    _id
    created
    updated
    isActive
    isBase
    isRoot
    sequence
    tags
    meta
    productAssignments
    filterAssignments
    linkedAssortments
    assortmentPaths
    children
  }
}
Variables
{
  "assortmentId": "string",
  "slug": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "assortment": {
      "_id": "string",
      "isActive": "boolean",
      "isBase": "boolean",
      "isRoot": "boolean",
      "sequence": "integer",
      "tags": [
        "string"
      ]
    }
  }
}

assortments

Get all root assortments

tags:
string[]

(no description)

slugs:
string[]

(no description)

limit:
integer

(no description)

offset:
integer

(no description)

includeInactive:
boolean

(no description)

includeLeaves:
boolean

(no description)

Example

Request Content-Types: application/json
Query
query assortments($tags: [String!], $slugs: [String!], $limit: Int, $offset: Int, $includeInactive: Boolean, $includeLeaves: Boolean){
  assortments(tags: $tags, slugs: $slugs, limit: $limit, offset: $offset, includeInactive: $includeInactive, includeLeaves: $includeLeaves)
}
Variables
{
  "tags": [
    "string"
  ],
  "slugs": [
    "string"
  ],
  "limit": "integer",
  "offset": "integer",
  "includeInactive": "boolean",
  "includeLeaves": "boolean"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "assortments": [
      {
        "_id": "string",
        "isActive": "boolean",
        "isBase": "boolean",
        "isRoot": "boolean",
        "sequence": "integer",
        "tags": [
          "string"
        ]
      }
    ]
  }
}

countries

Get all countries

limit:
integer

(no description)

offset:
integer

(no description)

includeInactive:
boolean

(no description)

Example

Request Content-Types: application/json
Query
query countries($limit: Int, $offset: Int, $includeInactive: Boolean){
  countries(limit: $limit, offset: $offset, includeInactive: $includeInactive)
}
Variables
{
  "limit": "integer",
  "offset": "integer",
  "includeInactive": "boolean"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "countries": [
      {
        "_id": "string",
        "isoCode": "string",
        "isActive": "boolean",
        "isBase": "boolean",
        "flagEmoji": "string",
        "name": "string"
      }
    ]
  }
}

country

Get a specific country by ID

countryId:
string

(no description)

Example

Request Content-Types: application/json
Query
query country($countryId: ID!){
  country(countryId: $countryId){
    _id
    isoCode
    isActive
    isBase
    flagEmoji
    name(forceLocale: $forceLocale)
  }
}
Variables
{
  "countryId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "country": {
      "_id": "string",
      "isoCode": "string",
      "isActive": "boolean",
      "isBase": "boolean",
      "flagEmoji": "string",
      "name": "string"
    }
  }
}

currencies

Get all currencies

limit:
integer

(no description)

offset:
integer

(no description)

includeInactive:
boolean

(no description)

Example

Request Content-Types: application/json
Query
query currencies($limit: Int, $offset: Int, $includeInactive: Boolean){
  currencies(limit: $limit, offset: $offset, includeInactive: $includeInactive)
}
Variables
{
  "limit": "integer",
  "offset": "integer",
  "includeInactive": "boolean"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "currencies": [
      {
        "_id": "string",
        "isoCode": "string",
        "isActive": "boolean"
      }
    ]
  }
}

currency

Get a specific currency by ID

currencyId:
string

(no description)

Example

Request Content-Types: application/json
Query
query currency($currencyId: ID!){
  currency(currencyId: $currencyId){
    _id
    isoCode
    isActive
  }
}
Variables
{
  "currencyId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "currency": {
      "_id": "string",
      "isoCode": "string",
      "isActive": "boolean"
    }
  }
}

deliveryInterfaces

Get all delivery interfaces filtered by type

(no description)

Example

Request Content-Types: application/json
Query
query deliveryInterfaces($type: DeliveryProviderType!){
  deliveryInterfaces(type: $type)
}
Variables
{
  "type": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "deliveryInterfaces": [
      {
        "_id": "string",
        "label": "string",
        "version": "string"
      }
    ]
  }
}

deliveryProvider

Get a specific delivery provider by ID

deliveryProviderId:
string

(no description)

Example

Request Content-Types: application/json
Query
query deliveryProvider($deliveryProviderId: ID!){
  deliveryProvider(deliveryProviderId: $deliveryProviderId){
    _id
    created
    updated
    deleted
    type
    configuration
    configurationError
    isActive
  }
}
Variables
{
  "deliveryProviderId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "deliveryProvider": {
      "_id": "string",
      "isActive": "boolean"
    }
  }
}

deliveryProviders

Get all delivery providers, optionally filtered by type

(no description)

Example

Request Content-Types: application/json
Query
query deliveryProviders($type: DeliveryProviderType){
  deliveryProviders(type: $type)
}
Variables
{
  "type": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "deliveryProviders": [
      {
        "_id": "string",
        "isActive": "boolean"
      }
    ]
  }
}

filter

Get a specific filter by ID

filterId:
string

(no description)

Example

Request Content-Types: application/json
Query
query filter($filterId: ID){
  filter(filterId: $filterId){
    _id
    updated
    created
    isActive
    type
    key
    options
  }
}
Variables
{
  "filterId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "filter": {
      "_id": "string",
      "isActive": "boolean",
      "key": "string"
    }
  }
}

filters

Get all filters

limit:
integer

(no description)

offset:
integer

(no description)

includeInactive:
boolean

(no description)

Example

Request Content-Types: application/json
Query
query filters($limit: Int, $offset: Int, $includeInactive: Boolean){
  filters(limit: $limit, offset: $offset, includeInactive: $includeInactive)
}
Variables
{
  "limit": "integer",
  "offset": "integer",
  "includeInactive": "boolean"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "filters": [
      {
        "_id": "string",
        "isActive": "boolean",
        "key": "string"
      }
    ]
  }
}

language

Get a specific language

languageId:
string

(no description)

Example

Request Content-Types: application/json
Query
query language($languageId: ID!){
  language(languageId: $languageId){
    _id
    isoCode
    isActive
    isBase
    name
  }
}
Variables
{
  "languageId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "language": {
      "_id": "string",
      "isoCode": "string",
      "isActive": "boolean",
      "isBase": "boolean",
      "name": "string"
    }
  }
}

languages

Get all languages

limit:
integer

(no description)

offset:
integer

(no description)

includeInactive:
boolean

(no description)

Example

Request Content-Types: application/json
Query
query languages($limit: Int, $offset: Int, $includeInactive: Boolean){
  languages(limit: $limit, offset: $offset, includeInactive: $includeInactive)
}
Variables
{
  "limit": "integer",
  "offset": "integer",
  "includeInactive": "boolean"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "languages": [
      {
        "_id": "string",
        "isoCode": "string",
        "isActive": "boolean",
        "isBase": "boolean",
        "name": "string"
      }
    ]
  }
}

logs

Get all logs, sorted by most recent creation date first

limit:
integer

(no description)

offset:
integer

(no description)

Example

Request Content-Types: application/json
Query
query logs($limit: Int, $offset: Int){
  logs(limit: $limit, offset: $offset)
}
Variables
{
  "limit": "integer",
  "offset": "integer"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "logs": [
      {
        "_id": "string",
        "level": "string",
        "message": "string"
      }
    ]
  }
}

me

Currently logged in user

Example

Request Content-Types: application/json
Query
query me{
  me{
    _id
    email
    username
    isEmailVerified
    isGuest
    isInitialPassword
    name
    emails
    roles
    tags
    orders(includeCarts: $includeCarts)
    quotations
    logs(offset: $offset, limit: $limit)
    bookmarks
    paymentCredentials
    subscriptions
  }
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "me": {
      "_id": "string",
      "email": "string",
      "username": "string",
      "isEmailVerified": "boolean",
      "isGuest": "boolean",
      "isInitialPassword": "boolean",
      "name": "string",
      "roles": [
        "string"
      ],
      "tags": [
        "string"
      ]
    }
  }
}

order

Get a specific single order, use the otp to get access to the information without beeing logged in as the user that created the order

orderId:
string

(no description)

otp:
string

(no description)

Example

Request Content-Types: application/json
Query
query order($orderId: ID!, $otp: String){
  order(orderId: $orderId, otp: $otp){
    _id
    status
    created
    updated
    ordered
    orderNumber
    confirmed
    fullfilled
    meta
    items
    discounts
    documents(type: $type)
    supportedDeliveryProviders
    supportedPaymentProviders
    logs(limit: $limit, offset: $offset)
  }
}
Variables
{
  "orderId": "string",
  "otp": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "order": {
      "_id": "string",
      "orderNumber": "string"
    }
  }
}

orders

Get all orders

limit:
integer

(no description)

offset:
integer

(no description)

includeCarts:
boolean

(no description)

Example

Request Content-Types: application/json
Query
query orders($limit: Int, $offset: Int, $includeCarts: Boolean){
  orders(limit: $limit, offset: $offset, includeCarts: $includeCarts)
}
Variables
{
  "limit": "integer",
  "offset": "integer",
  "includeCarts": "boolean"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "orders": [
      {
        "_id": "string",
        "orderNumber": "string"
      }
    ]
  }
}

paymentInterfaces

Get all payment interfaces filtered by type

(no description)

Example

Request Content-Types: application/json
Query
query paymentInterfaces($type: PaymentProviderType!){
  paymentInterfaces(type: $type)
}
Variables
{
  "type": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "paymentInterfaces": [
      {
        "_id": "string",
        "label": "string",
        "version": "string"
      }
    ]
  }
}

paymentProvider

Get a specific payment provider by ID

paymentProviderId:
string

(no description)

Example

Request Content-Types: application/json
Query
query paymentProvider($paymentProviderId: ID!){
  paymentProvider(paymentProviderId: $paymentProviderId){
    _id
    created
    updated
    deleted
    type
    configuration
    configurationError
  }
}
Variables
{
  "paymentProviderId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "paymentProvider": {
      "_id": "string"
    }
  }
}

paymentProviders

Get all payment providers, optionally filtered by type

(no description)

Example

Request Content-Types: application/json
Query
query paymentProviders($type: PaymentProviderType){
  paymentProviders(type: $type)
}
Variables
{
  "type": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "paymentProviders": [
      {
        "_id": "string"
      }
    ]
  }
}

product

Get a specific product by id or slug

productId:
string

(no description)

slug:
string

(no description)

Example

Request Content-Types: application/json
Query
query product($productId: ID, $slug: String){
  product(productId: $productId, slug: $slug){
    _id
    sequence
    status
    tags
    created
    updated
    published
    media(limit: $limit, offset: $offset, tags: $tags)
    reviews
    meta
    assortmentPaths
    siblings(assortmentId: $assortmentId, limit: $limit, offset: $offset, includeInactive: $includeInactive)
  }
}
Variables
{
  "productId": "string",
  "slug": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {}
}

productCatalogPrices

List products specified prices

productId:
string

(no description)

Example

Request Content-Types: application/json
Query
query productCatalogPrices($productId: ID!){
  productCatalogPrices(productId: $productId)
}
Variables
{
  "productId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "productCatalogPrices": [
      {
        "_id": "string",
        "isTaxable": "boolean",
        "isNetPrice": "boolean",
        "maxQuantity": "integer"
      }
    ]
  }
}

productReview

Get a specific product review by ID

productReviewId:
string

(no description)

Example

Request Content-Types: application/json
Query
query productReview($productReviewId: ID!){
  productReview(productReviewId: $productReviewId){
    _id
    created
    updated
    deleted
    rating
    title
    review
    meta
    voteCount(type: $type)
    ownVotes
  }
}
Variables
{
  "productReviewId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "productReview": {
      "_id": "string",
      "rating": "integer",
      "title": "string",
      "review": "string",
      "voteCount": "integer"
    }
  }
}

productReviews

Get all product reviews

limit:
integer

(no description)

offset:
integer

(no description)

Example

Request Content-Types: application/json
Query
query productReviews($limit: Int, $offset: Int){
  productReviews(limit: $limit, offset: $offset)
}
Variables
{
  "limit": "integer",
  "offset": "integer"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "productReviews": [
      {
        "_id": "string",
        "rating": "integer",
        "title": "string",
        "review": "string",
        "voteCount": "integer"
      }
    ]
  }
}

products

Simple list of published products filtered either by tags or explicit slugs If a slug is provided, limit and offset don't have any effect on the result

tags:
string[]

(no description)

slugs:
string[]

(no description)

limit:
integer

(no description)

offset:
integer

(no description)

includeDrafts:
boolean

(no description)

Example

Request Content-Types: application/json
Query
query products($tags: [String!], $slugs: [String!], $limit: Int, $offset: Int, $includeDrafts: Boolean){
  products(tags: $tags, slugs: $slugs, limit: $limit, offset: $offset, includeDrafts: $includeDrafts)
}
Variables
{
  "tags": [
    "string"
  ],
  "slugs": [
    "string"
  ],
  "limit": "integer",
  "offset": "integer",
  "includeDrafts": "boolean"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "products": [
      null
    ]
  }
}

quotation

Get a specific quotation by ID

quotationId:
string

(no description)

Example

Request Content-Types: application/json
Query
query quotation($quotationId: ID!){
  quotation(quotationId: $quotationId){
    _id
    status
    created
    expires
    updated
    isExpired(referenceDate: $referenceDate)
    quotationNumber
    fullfilled
    rejected
    meta
    configuration
    documents(type: $type)
    logs(limit: $limit, offset: $offset)
  }
}
Variables
{
  "quotationId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "quotation": {
      "_id": "string",
      "isExpired": "boolean",
      "quotationNumber": "string"
    }
  }
}

quotations

Get all quotations

limit:
integer

(no description)

offset:
integer

(no description)

Example

Request Content-Types: application/json
Query
query quotations($limit: Int, $offset: Int){
  quotations(limit: $limit, offset: $offset)
}
Variables
{
  "limit": "integer",
  "offset": "integer"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "quotations": [
      {
        "_id": "string",
        "isExpired": "boolean",
        "quotationNumber": "string"
      }
    ]
  }
}

search

Search products

queryString:
string

(no description)

filterQuery:

(no description)

assortmentId:
string

(no description)

orderBy:

(no description)

includeInactive:
boolean

(no description)

ignoreChildAssortments:
boolean

(no description)

Example

Request Content-Types: application/json
Query
query search($queryString: String, $filterQuery: [FilterQueryInput!], $assortmentId: ID, $orderBy: SearchOrderBy, $includeInactive: Boolean, $ignoreChildAssortments: Boolean){
  search(queryString: $queryString, filterQuery: $filterQuery, assortmentId: $assortmentId, orderBy: $orderBy, includeInactive: $includeInactive, ignoreChildAssortments: $ignoreChildAssortments){
    totalProducts
    filteredProducts
    filters
    products(limit: $limit, offset: $offset)
  }
}
Variables
{
  "queryString": "string",
  "filterQuery": [
    {
      "key": "string",
      "value": "string"
    }
  ],
  "assortmentId": "string",
  "orderBy": "string",
  "includeInactive": "boolean",
  "ignoreChildAssortments": "boolean"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "search": {
      "totalProducts": "integer",
      "filteredProducts": "integer",
      "products": [
        null
      ]
    }
  }
}

searchAssortments

Search assortments

queryString:
string

(no description)

orderBy:

(no description)

includeInactive:
boolean

(no description)

Example

Request Content-Types: application/json
Query
query searchAssortments($queryString: String, $orderBy: SearchOrderBy, $includeInactive: Boolean){
  searchAssortments(queryString: $queryString, orderBy: $orderBy, includeInactive: $includeInactive){
    totalAssortments
    assortments(limit: $limit, offset: $offset)
  }
}
Variables
{
  "queryString": "string",
  "orderBy": "string",
  "includeInactive": "boolean"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "searchAssortments": {
      "totalAssortments": "integer"
    }
  }
}

searchProducts

Search products

queryString:
string

(no description)

filterQuery:

(no description)

assortmentId:
string

(no description)

orderBy:

(no description)

includeInactive:
boolean

(no description)

ignoreChildAssortments:
boolean

(no description)

Example

Request Content-Types: application/json
Query
query searchProducts($queryString: String, $filterQuery: [FilterQueryInput!], $assortmentId: ID, $orderBy: SearchOrderBy, $includeInactive: Boolean, $ignoreChildAssortments: Boolean){
  searchProducts(queryString: $queryString, filterQuery: $filterQuery, assortmentId: $assortmentId, orderBy: $orderBy, includeInactive: $includeInactive, ignoreChildAssortments: $ignoreChildAssortments){
    totalProducts
    filteredProducts
    filters
    products(limit: $limit, offset: $offset)
  }
}
Variables
{
  "queryString": "string",
  "filterQuery": [
    {
      "key": "string",
      "value": "string"
    }
  ],
  "assortmentId": "string",
  "orderBy": "string",
  "includeInactive": "boolean",
  "ignoreChildAssortments": "boolean"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "searchProducts": {
      "totalProducts": "integer",
      "filteredProducts": "integer",
      "products": [
        null
      ]
    }
  }
}

shopInfo

Get shop-global data and the resolved country/language pair

Example

Request Content-Types: application/json
Query
query shopInfo{
  shopInfo{
    _id
    version
    userRoles
  }
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "shopInfo": {
      "_id": "string",
      "version": "string",
      "userRoles": [
        "string"
      ]
    }
  }
}

signPaymentProviderForCredentialRegistration

Sign a generic payment provider for registration

paymentProviderId:
string

(no description)

Example

Request Content-Types: application/json
Query
query signPaymentProviderForCredentialRegistration($paymentProviderId: ID!){
  signPaymentProviderForCredentialRegistration(paymentProviderId: $paymentProviderId)
}
Variables
{
  "paymentProviderId": "string"
}
Try it now
200 OK

Successful operation

type
string
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "signPaymentProviderForCredentialRegistration": "string"
  }
}

subscription

Get a specific quotation by ID

subscriptionId:
string

(no description)

Example

Request Content-Types: application/json
Query
query subscription($subscriptionId: ID!){
  subscription(subscriptionId: $subscriptionId){
    _id
    status
    created
    expires
    updated
    isExpired(referenceDate: $referenceDate)
    subscriptionNumber
    meta
    logs(limit: $limit, offset: $offset)
    periods
  }
}
Variables
{
  "subscriptionId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "subscription": {
      "_id": "string",
      "isExpired": "boolean",
      "subscriptionNumber": "string"
    }
  }
}

subscriptions

Get all subscriptions

limit:
integer

(no description)

offset:
integer

(no description)

Example

Request Content-Types: application/json
Query
query subscriptions($limit: Int, $offset: Int){
  subscriptions(limit: $limit, offset: $offset)
}
Variables
{
  "limit": "integer",
  "offset": "integer"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "subscriptions": [
      {
        "_id": "string",
        "isExpired": "boolean",
        "subscriptionNumber": "string"
      }
    ]
  }
}

translatedAssortmentTexts

Localization: Meta data for assortments

assortmentId:
string

(no description)

Example

Request Content-Types: application/json
Query
query translatedAssortmentTexts($assortmentId: ID!){
  translatedAssortmentTexts(assortmentId: $assortmentId)
}
Variables
{
  "assortmentId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "translatedAssortmentTexts": [
      {
        "_id": "string",
        "locale": "string",
        "slug": "string",
        "title": "string",
        "subtitle": "string",
        "description": "string"
      }
    ]
  }
}

translatedFilterTexts

Localization: Filters and Filter Options

filterId:
string

(no description)

filterOptionValue:
string

(no description)

Example

Request Content-Types: application/json
Query
query translatedFilterTexts($filterId: ID!, $filterOptionValue: String){
  translatedFilterTexts(filterId: $filterId, filterOptionValue: $filterOptionValue)
}
Variables
{
  "filterId": "string",
  "filterOptionValue": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "translatedFilterTexts": [
      {
        "_id": "string",
        "locale": "string",
        "title": "string",
        "subtitle": "string"
      }
    ]
  }
}

translatedProductMediaTexts

Localization: Media title/subtitle of a media that is attached to a product

productMediaId:
string

(no description)

Example

Request Content-Types: application/json
Query
query translatedProductMediaTexts($productMediaId: ID!){
  translatedProductMediaTexts(productMediaId: $productMediaId)
}
Variables
{
  "productMediaId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "translatedProductMediaTexts": [
      {
        "_id": "string",
        "locale": "string",
        "title": "string",
        "subtitle": "string"
      }
    ]
  }
}

translatedProductTexts

Localization: Meta data for product

productId:
string

(no description)

Example

Request Content-Types: application/json
Query
query translatedProductTexts($productId: ID!){
  translatedProductTexts(productId: $productId)
}
Variables
{
  "productId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "translatedProductTexts": [
      {
        "_id": "string",
        "locale": "string",
        "slug": "string",
        "title": "string",
        "subtitle": "string",
        "description": "string",
        "vendor": "string",
        "brand": "string",
        "labels": [
          "string"
        ]
      }
    ]
  }
}

translatedProductVariationTexts

Localization: Variations and Variation Options

productVariationId:
string

(no description)

productVariationOptionValue:
string

(no description)

Example

Request Content-Types: application/json
Query
query translatedProductVariationTexts($productVariationId: ID!, $productVariationOptionValue: String){
  translatedProductVariationTexts(productVariationId: $productVariationId, productVariationOptionValue: $productVariationOptionValue)
}
Variables
{
  "productVariationId": "string",
  "productVariationOptionValue": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "translatedProductVariationTexts": [
      {
        "_id": "string",
        "locale": "string",
        "title": "string",
        "subtitle": "string"
      }
    ]
  }
}

user

Specific user data if userId provided, else returns currently logged in

userId:
string

(no description)

Example

Request Content-Types: application/json
Query
query user($userId: ID){
  user(userId: $userId){
    _id
    email
    username
    isEmailVerified
    isGuest
    isInitialPassword
    name
    emails
    roles
    tags
    orders(includeCarts: $includeCarts)
    quotations
    logs(offset: $offset, limit: $limit)
    bookmarks
    paymentCredentials
    subscriptions
  }
}
Variables
{
  "userId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "user": {
      "_id": "string",
      "email": "string",
      "username": "string",
      "isEmailVerified": "boolean",
      "isGuest": "boolean",
      "isInitialPassword": "boolean",
      "name": "string",
      "roles": [
        "string"
      ],
      "tags": [
        "string"
      ]
    }
  }
}

users

Get list of users

limit:
integer

(no description)

offset:
integer

(no description)

includeGuests:
boolean

(no description)

queryString:
string

(no description)

Example

Request Content-Types: application/json
Query
query users($limit: Int, $offset: Int, $includeGuests: Boolean, $queryString: String){
  users(limit: $limit, offset: $offset, includeGuests: $includeGuests, queryString: $queryString)
}
Variables
{
  "limit": "integer",
  "offset": "integer",
  "includeGuests": "boolean",
  "queryString": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "users": [
      {
        "_id": "string",
        "email": "string",
        "username": "string",
        "isEmailVerified": "boolean",
        "isGuest": "boolean",
        "isInitialPassword": "boolean",
        "name": "string",
        "roles": [
          "string"
        ],
        "tags": [
          "string"
        ]
      }
    ]
  }
}

warehousingInterfaces

Get all warehousing interfaces filtered by type

(no description)

Example

Request Content-Types: application/json
Query
query warehousingInterfaces($type: WarehousingProviderType!){
  warehousingInterfaces(type: $type)
}
Variables
{
  "type": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "warehousingInterfaces": [
      {
        "_id": "string",
        "label": "string",
        "version": "string"
      }
    ]
  }
}

warehousingProvider

Get a specific warehousing provider by ID

warehousingProviderId:
string

(no description)

Example

Request Content-Types: application/json
Query
query warehousingProvider($warehousingProviderId: ID!){
  warehousingProvider(warehousingProviderId: $warehousingProviderId){
    _id
    created
    updated
    deleted
    type
    configuration
    configurationError
    isActive
  }
}
Variables
{
  "warehousingProviderId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "warehousingProvider": {
      "_id": "string",
      "isActive": "boolean"
    }
  }
}

warehousingProviders

Get all delivery providers, optionally filtered by type

(no description)

Example

Request Content-Types: application/json
Query
query warehousingProviders($type: WarehousingProviderType){
  warehousingProviders(type: $type)
}
Variables
{
  "type": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "warehousingProviders": [
      {
        "_id": "string",
        "isActive": "boolean"
      }
    ]
  }
}

work

Get a specific work unit by ID

workId:
string

(no description)

Example

Request Content-Types: application/json
Query
query work($workId: ID!){
  work(workId: $workId){
    _id
    started
    finished
    created
    updated
    deleted
    priority
    type
    status
    worker
    input
    result
    error
    success
    scheduled
    retries
    timeout
  }
}
Variables
{
  "workId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "work": {
      "_id": "string",
      "priority": "integer",
      "worker": "string",
      "success": "boolean",
      "retries": "integer",
      "timeout": "integer"
    }
  }
}

workQueue

Get all work from the queue

limit:
integer

(no description)

offset:
integer

(no description)

status:

(no description)

Example

Request Content-Types: application/json
Query
query workQueue($limit: Int, $offset: Int, $status: [WorkStatus]){
  workQueue(limit: $limit, offset: $offset, status: $status){
    _id
    started
    finished
    created
    updated
    deleted
    priority
    type
    status
    worker
    input
    result
    error
    success
    scheduled
    retries
    timeout
  }
}
Variables
{
  "limit": "integer",
  "offset": "integer",
  "status": [
    "string"
  ]
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "workQueue": [
      {
        "_id": "string",
        "priority": "integer",
        "worker": "string",
        "success": "boolean",
        "retries": "integer",
        "timeout": "integer"
      }
    ]
  }
}

Mutations

activateSubscription

Activate a subscription by changing the status to ACTIVE

subscriptionId:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation activateSubscription($subscriptionId: ID!){
  activateSubscription(subscriptionId: $subscriptionId){
    _id
    status
    created
    expires
    updated
    isExpired(referenceDate: $referenceDate)
    subscriptionNumber
    meta
    logs(limit: $limit, offset: $offset)
    periods
  }
}
Variables
{
  "subscriptionId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "activateSubscription": {
      "_id": "string",
      "isExpired": "boolean",
      "subscriptionNumber": "string"
    }
  }
}

addAssortmentFilter

Add a new filter to an assortment

assortmentId:
string

(no description)

filterId:
string

(no description)

tags:
string[]

(no description)

Example

Request Content-Types: application/json
Query
mutation addAssortmentFilter($assortmentId: ID!, $filterId: ID!, $tags: [String!]){
  addAssortmentFilter(assortmentId: $assortmentId, filterId: $filterId, tags: $tags){
    _id
    sortKey
    tags
    meta
  }
}
Variables
{
  "assortmentId": "string",
  "filterId": "string",
  "tags": [
    "string"
  ]
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "addAssortmentFilter": {
      "_id": "string",
      "sortKey": "integer",
      "tags": [
        "string"
      ]
    }
  }
}

addAssortmentLink

Add a new child assortment to an assortment

parentAssortmentId:
string

(no description)

childAssortmentId:
string

(no description)

tags:
string[]

(no description)

Example

Request Content-Types: application/json
Query
mutation addAssortmentLink($parentAssortmentId: ID!, $childAssortmentId: ID!, $tags: [String!]){
  addAssortmentLink(parentAssortmentId: $parentAssortmentId, childAssortmentId: $childAssortmentId, tags: $tags){
    _id
    sortKey
    tags
    meta
  }
}
Variables
{
  "parentAssortmentId": "string",
  "childAssortmentId": "string",
  "tags": [
    "string"
  ]
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "addAssortmentLink": {
      "_id": "string",
      "sortKey": "integer",
      "tags": [
        "string"
      ]
    }
  }
}

addAssortmentProduct

Add a new product to an assortment

assortmentId:
string

(no description)

productId:
string

(no description)

tags:
string[]

(no description)

Example

Request Content-Types: application/json
Query
mutation addAssortmentProduct($assortmentId: ID!, $productId: ID!, $tags: [String!]){
  addAssortmentProduct(assortmentId: $assortmentId, productId: $productId, tags: $tags){
    _id
    sortKey
    tags
    meta
  }
}
Variables
{
  "assortmentId": "string",
  "productId": "string",
  "tags": [
    "string"
  ]
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "addAssortmentProduct": {
      "_id": "string",
      "sortKey": "integer",
      "tags": [
        "string"
      ]
    }
  }
}

addCartDiscount

Add a new discount to the cart, a new order gets generated with status = open (= order before checkout / cart) if necessary

orderId:
string

(no description)

code:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation addCartDiscount($orderId: ID, $code: String!){
  addCartDiscount(orderId: $orderId, code: $code){
    _id
    trigger
    code
    discounted
  }
}
Variables
{
  "orderId": "string",
  "code": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "addCartDiscount": {
      "_id": "string",
      "code": "string",
      "discounted": [
        null
      ]
    }
  }
}

addCartProduct

Add a new item to the cart. Order gets generated with status = open (= order before checkout / cart) if necessary.

orderId:
string

(no description)

productId:
string

(no description)

quantity:
integer

(no description)

(no description)

Example

Request Content-Types: application/json
Query
mutation addCartProduct($orderId: ID, $productId: ID!, $quantity: Int, $configuration: [ProductConfigurationParameterInput!]){
  addCartProduct(orderId: $orderId, productId: $productId, quantity: $quantity, configuration: $configuration){
    _id
    quantity
    discounts
    dispatches
    configuration
  }
}
Variables
{
  "orderId": "string",
  "productId": "string",
  "quantity": "integer",
  "configuration": [
    {
      "key": "string",
      "value": "string"
    }
  ]
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "addCartProduct": {
      "_id": "string",
      "quantity": "integer"
    }
  }
}

addCartQuotation

Add a new quotation to the cart.

orderId:
string

(no description)

quotationId:
string

(no description)

quantity:
integer

(no description)

(no description)

Example

Request Content-Types: application/json
Query
mutation addCartQuotation($orderId: ID, $quotationId: ID!, $quantity: Int, $configuration: [ProductConfigurationParameterInput!]){
  addCartQuotation(orderId: $orderId, quotationId: $quotationId, quantity: $quantity, configuration: $configuration){
    _id
    quantity
    discounts
    dispatches
    configuration
  }
}
Variables
{
  "orderId": "string",
  "quotationId": "string",
  "quantity": "integer",
  "configuration": [
    {
      "key": "string",
      "value": "string"
    }
  ]
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "addCartQuotation": {
      "_id": "string",
      "quantity": "integer"
    }
  }
}

addEmail

Update E-Mail address of any user or logged in user if userId is not provided

email:
string

(no description)

userId:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation addEmail($email: String!, $userId: ID){
  addEmail(email: $email, userId: $userId){
    _id
    email
    username
    isEmailVerified
    isGuest
    isInitialPassword
    name
    emails
    roles
    tags
    orders(includeCarts: $includeCarts)
    quotations
    logs(offset: $offset, limit: $limit)
    bookmarks
    paymentCredentials
    subscriptions
  }
}
Variables
{
  "email": "string",
  "userId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "addEmail": {
      "_id": "string",
      "email": "string",
      "username": "string",
      "isEmailVerified": "boolean",
      "isGuest": "boolean",
      "isInitialPassword": "boolean",
      "name": "string",
      "roles": [
        "string"
      ],
      "tags": [
        "string"
      ]
    }
  }
}

addMultipleCartProducts

Add multiple new item to the cart. Order gets generated with status = open (= order before checkout / cart) if necessary.

orderId:
string

(no description)

(no description)

Example

Request Content-Types: application/json
Query
mutation addMultipleCartProducts($orderId: ID, $items: [OrderItemInput!]!){
  addMultipleCartProducts(orderId: $orderId, items: $items)
}
Variables
{
  "orderId": "string",
  "items": [
    {
      "productId": "object",
      "quantity": "number",
      "configuration": [
        {
          "key": "string",
          "value": "string"
        }
      ]
    }
  ]
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "addMultipleCartProducts": [
      {
        "_id": "string",
        "quantity": "integer"
      }
    ]
  }
}

addProductAssignment

Link a new product to a ConfigurableProduct by providing a configuration combination that uniquely identifies a row in the assignment matrix

proxyId:
string

(no description)

productId:
string

(no description)

(no description)

Example

Request Content-Types: application/json
Query
mutation addProductAssignment($proxyId: ID!, $productId: ID!, $vectors: [ProductAssignmentVectorInput!]!){
  addProductAssignment(proxyId: $proxyId, productId: $productId, vectors: $vectors){
    _id
    sequence
    status
    tags
    created
    updated
    published
    media(limit: $limit, offset: $offset, tags: $tags)
    reviews
    meta
    assortmentPaths
    siblings(assortmentId: $assortmentId, limit: $limit, offset: $offset, includeInactive: $includeInactive)
  }
}
Variables
{
  "proxyId": "string",
  "productId": "string",
  "vectors": [
    {
      "key": "string",
      "value": "string"
    }
  ]
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {}
}

addProductMedia

Add a new media to a product's visualization

productId:
string

(no description)

media:
object

(no description)

Example

Request Content-Types: application/json
Query
mutation addProductMedia($productId: ID!, $media: Upload!){
  addProductMedia(productId: $productId, media: $media){
    _id
    tags
    sortKey
  }
}
Variables
{
  "productId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "addProductMedia": {
      "_id": "string",
      "tags": [
        "string"
      ],
      "sortKey": "integer"
    }
  }
}

addProductReviewVote

Add a vote to a ProductReview. If there there is a previous vote from the user invoking this it will be removed and updated with the new vote

productReviewId:
string

(no description)

(no description)

meta:
object

(no description)

Example

Request Content-Types: application/json
Query
mutation addProductReviewVote($productReviewId: ID!, $type: ProductReviewVoteType!, $meta: JSON){
  addProductReviewVote(productReviewId: $productReviewId, type: $type, meta: $meta){
    _id
    created
    updated
    deleted
    rating
    title
    review
    meta
    voteCount(type: $type)
    ownVotes
  }
}
Variables
{
  "productReviewId": "string",
  "type": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "addProductReviewVote": {
      "_id": "string",
      "rating": "integer",
      "title": "string",
      "review": "string",
      "voteCount": "integer"
    }
  }
}

addWork

Add work to the work queue. Each type has its own input shape

type:

(no description)

priority:
integer

(no description)

input:
object

(no description)

originalWorkId:
string

(no description)

scheduled:
object

(no description)

retries:
integer

(no description)

Example

Request Content-Types: application/json
Query
mutation addWork($type: WorkType!, $priority: Int!, $input: JSON, $originalWorkId: ID, $scheduled: Date, $retries: Int!){
  addWork(type: $type, priority: $priority, input: $input, originalWorkId: $originalWorkId, scheduled: $scheduled, retries: $retries){
    _id
    started
    finished
    created
    updated
    deleted
    priority
    type
    status
    worker
    input
    result
    error
    success
    scheduled
    retries
    timeout
  }
}
Variables
{
  "type": "string",
  "priority": "integer",
  "originalWorkId": "string",
  "retries": "integer"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "addWork": {
      "_id": "string",
      "priority": "integer",
      "worker": "string",
      "success": "boolean",
      "retries": "integer",
      "timeout": "integer"
    }
  }
}

allocateWork

Get the next task from the worker queue. This will also mark the task as "started". Optional worker to identify the worker.

types:

(no description)

worker:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation allocateWork($types: [WorkType], $worker: String){
  allocateWork(types: $types, worker: $worker){
    _id
    started
    finished
    created
    updated
    deleted
    priority
    type
    status
    worker
    input
    result
    error
    success
    scheduled
    retries
    timeout
  }
}
Variables
{
  "types": [
    "string"
  ],
  "worker": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "allocateWork": {
      "_id": "string",
      "priority": "integer",
      "worker": "string",
      "success": "boolean",
      "retries": "integer",
      "timeout": "integer"
    }
  }
}

bookmark

toggle Bookmarks state of a product as currently logged in user

productId:
string

(no description)

bookmarked:
boolean

(no description)

Example

Request Content-Types: application/json
Query
mutation bookmark($productId: ID!, $bookmarked: Boolean){
  bookmark(productId: $productId, bookmarked: $bookmarked){
    _id
    created
  }
}
Variables
{
  "productId": "string",
  "bookmarked": "boolean"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "bookmark": {
      "_id": "string"
    }
  }
}

changePassword

Change the current user's password. Must be logged in.

oldPassword:

(no description)

oldPlainPassword:
string

(no description)

newPassword:

(no description)

newPlainPassword:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation changePassword($oldPassword: HashedPasswordInput, $oldPlainPassword: String, $newPassword: HashedPasswordInput, $newPlainPassword: String){
  changePassword(oldPassword: $oldPassword, oldPlainPassword: $oldPlainPassword, newPassword: $newPassword, newPlainPassword: $newPlainPassword){
    success
  }
}
Variables
{
  "oldPassword": {
    "digest": "string",
    "algorithm": "string"
  },
  "oldPlainPassword": "string",
  "newPassword": {
    "digest": "string",
    "algorithm": "string"
  },
  "newPlainPassword": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "changePassword": {
      "success": "boolean"
    }
  }
}

checkoutCart

Process the checkout (automatically charge & deliver if possible), the cart will get transformed to an ordinary order if everything goes well.

orderId:
string

(no description)

orderContext:
object

(no description)

paymentContext:
object

(no description)

deliveryContext:
object

(no description)

Example

Request Content-Types: application/json
Query
mutation checkoutCart($orderId: ID, $orderContext: JSON, $paymentContext: JSON, $deliveryContext: JSON){
  checkoutCart(orderId: $orderId, orderContext: $orderContext, paymentContext: $paymentContext, deliveryContext: $deliveryContext){
    _id
    status
    created
    updated
    ordered
    orderNumber
    confirmed
    fullfilled
    meta
    items
    discounts
    documents(type: $type)
    supportedDeliveryProviders
    supportedPaymentProviders
    logs(limit: $limit, offset: $offset)
  }
}
Variables
{
  "orderId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "checkoutCart": {
      "_id": "string",
      "orderNumber": "string"
    }
  }
}

confirmOrder

Manually confirm an order which is in progress

orderId:
string

(no description)

orderContext:
object

(no description)

paymentContext:
object

(no description)

deliveryContext:
object

(no description)

Example

Request Content-Types: application/json
Query
mutation confirmOrder($orderId: ID!, $orderContext: JSON, $paymentContext: JSON, $deliveryContext: JSON){
  confirmOrder(orderId: $orderId, orderContext: $orderContext, paymentContext: $paymentContext, deliveryContext: $deliveryContext){
    _id
    status
    created
    updated
    ordered
    orderNumber
    confirmed
    fullfilled
    meta
    items
    discounts
    documents(type: $type)
    supportedDeliveryProviders
    supportedPaymentProviders
    logs(limit: $limit, offset: $offset)
  }
}
Variables
{
  "orderId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "confirmOrder": {
      "_id": "string",
      "orderNumber": "string"
    }
  }
}

createAssortment

Creates new assortment.

(no description)

Example

Request Content-Types: application/json
Query
mutation createAssortment($assortment: CreateAssortmentInput!){
  createAssortment(assortment: $assortment){
    _id
    created
    updated
    isActive
    isBase
    isRoot
    sequence
    tags
    meta
    productAssignments
    filterAssignments
    linkedAssortments
    assortmentPaths
    children
  }
}
Variables
{
  "assortment": {
    "isRoot": "boolean",
    "tags": [
      "string"
    ],
    "title": "string"
  }
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "createAssortment": {
      "_id": "string",
      "isActive": "boolean",
      "isBase": "boolean",
      "isRoot": "boolean",
      "sequence": "integer",
      "tags": [
        "string"
      ]
    }
  }
}

createBookmark

Create a bookmark for a specific user

productId:
string

(no description)

userId:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation createBookmark($productId: ID!, $userId: ID!){
  createBookmark(productId: $productId, userId: $userId){
    _id
    created
  }
}
Variables
{
  "productId": "string",
  "userId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "createBookmark": {
      "_id": "string"
    }
  }
}

createCart

Creates an alternative cart. If you use this feature, you should use explicit orderId's when using the cart mutations. Else it will work like a stack and the checkout will use the very first cart of the user.

orderNumber:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation createCart($orderNumber: String!){
  createCart(orderNumber: $orderNumber){
    _id
    status
    created
    updated
    ordered
    orderNumber
    confirmed
    fullfilled
    meta
    items
    discounts
    documents(type: $type)
    supportedDeliveryProviders
    supportedPaymentProviders
    logs(limit: $limit, offset: $offset)
  }
}
Variables
{
  "orderNumber": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "createCart": {
      "_id": "string",
      "orderNumber": "string"
    }
  }
}

createCountry

(no description)

Example

Request Content-Types: application/json
Query
mutation createCountry($country: CreateCountryInput!){
  createCountry(country: $country){
    _id
    isoCode
    isActive
    isBase
    flagEmoji
    name(forceLocale: $forceLocale)
  }
}
Variables
{
  "country": {
    "isoCode": "string"
  }
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "createCountry": {
      "_id": "string",
      "isoCode": "string",
      "isActive": "boolean",
      "isBase": "boolean",
      "flagEmoji": "string",
      "name": "string"
    }
  }
}

createCurrency

(no description)

Example

Request Content-Types: application/json
Query
mutation createCurrency($currency: CreateCurrencyInput!){
  createCurrency(currency: $currency){
    _id
    isoCode
    isActive
  }
}
Variables
{
  "currency": {
    "isoCode": "string"
  }
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "createCurrency": {
      "_id": "string",
      "isoCode": "string",
      "isActive": "boolean"
    }
  }
}

createDeliveryProvider

Creates new delivery provider

deliveryProvider:

(no description)

Example

Request Content-Types: application/json
Query
mutation createDeliveryProvider($deliveryProvider: CreateProviderInput!){
  createDeliveryProvider(deliveryProvider: $deliveryProvider){
    _id
    created
    updated
    deleted
    type
    configuration
    configurationError
    isActive
  }
}
Variables
{
  "deliveryProvider": {
    "type": "string",
    "adapterKey": "string"
  }
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "createDeliveryProvider": {
      "_id": "string",
      "isActive": "boolean"
    }
  }
}

createFilter

Creates new Filter along with the user who created it.

(no description)

Example

Request Content-Types: application/json
Query
mutation createFilter($filter: CreateFilterInput!){
  createFilter(filter: $filter){
    _id
    updated
    created
    isActive
    type
    key
    options
  }
}
Variables
{
  "filter": {
    "key": "string",
    "type": "string",
    "title": "string",
    "options": [
      "string"
    ]
  }
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "createFilter": {
      "_id": "string",
      "isActive": "boolean",
      "key": "string"
    }
  }
}

createFilterOption

Adds new option to filters

filterId:
string

(no description)

(no description)

Example

Request Content-Types: application/json
Query
mutation createFilterOption($filterId: ID!, $option: CreateFilterOptionInput!){
  createFilterOption(filterId: $filterId, option: $option){
    _id
    updated
    created
    isActive
    type
    key
    options
  }
}
Variables
{
  "filterId": "string",
  "option": {
    "value": "string",
    "title": "string"
  }
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "createFilterOption": {
      "_id": "string",
      "isActive": "boolean",
      "key": "string"
    }
  }
}

createLanguage

Adds new language along with the user who created it

(no description)

Example

Request Content-Types: application/json
Query
mutation createLanguage($language: CreateLanguageInput!){
  createLanguage(language: $language){
    _id
    isoCode
    isActive
    isBase
    name
  }
}
Variables
{
  "language": {
    "isoCode": "string"
  }
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "createLanguage": {
      "_id": "string",
      "isoCode": "string",
      "isActive": "boolean",
      "isBase": "boolean",
      "name": "string"
    }
  }
}

createPaymentProvider

Adds new payment provider

paymentProvider:

(no description)

Example

Request Content-Types: application/json
Query
mutation createPaymentProvider($paymentProvider: CreateProviderInput!){
  createPaymentProvider(paymentProvider: $paymentProvider){
    _id
    created
    updated
    deleted
    type
    configuration
    configurationError
  }
}
Variables
{
  "paymentProvider": {
    "type": "string",
    "adapterKey": "string"
  }
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "createPaymentProvider": {
      "_id": "string"
    }
  }
}

createProduct

Create a new product

(no description)

Example

Request Content-Types: application/json
Query
mutation createProduct($product: CreateProductInput!){
  createProduct(product: $product){
    _id
    sequence
    status
    tags
    created
    updated
    published
    media(limit: $limit, offset: $offset, tags: $tags)
    reviews
    meta
    assortmentPaths
    siblings(assortmentId: $assortmentId, limit: $limit, offset: $offset, includeInactive: $includeInactive)
  }
}
Variables
{
  "product": {
    "title": "string",
    "type": "string",
    "tags": [
      "string"
    ]
  }
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {}
}

createProductBundleItem

Adds one product as bundle for another products

productId:
string

(no description)

(no description)

Example

Request Content-Types: application/json
Query
mutation createProductBundleItem($productId: ID!, $item: CreateProductBundleItemInput!){
  createProductBundleItem(productId: $productId, item: $item){
    _id
    sequence
    status
    tags
    created
    updated
    published
    media(limit: $limit, offset: $offset, tags: $tags)
    reviews
    meta
    assortmentPaths
    siblings(assortmentId: $assortmentId, limit: $limit, offset: $offset, includeInactive: $includeInactive)
  }
}
Variables
{
  "productId": "string",
  "item": {
    "productId": "object",
    "quantity": "number"
  }
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {}
}

createProductReview

Add a new ProductReview

productId:
string

(no description)

productReview:

(no description)

Example

Request Content-Types: application/json
Query
mutation createProductReview($productId: ID!, $productReview: ProductReviewInput!){
  createProductReview(productId: $productId, productReview: $productReview){
    _id
    created
    updated
    deleted
    rating
    title
    review
    meta
    voteCount(type: $type)
    ownVotes
  }
}
Variables
{
  "productId": "string",
  "productReview": {
    "rating": "number",
    "title": "string",
    "review": "string"
  }
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "createProductReview": {
      "_id": "string",
      "rating": "integer",
      "title": "string",
      "review": "string",
      "voteCount": "integer"
    }
  }
}

createProductVariation

Creates new product variation for a product.

productId:
string

(no description)

(no description)

Example

Request Content-Types: application/json
Query
mutation createProductVariation($productId: ID!, $variation: CreateProductVariationInput!){
  createProductVariation(productId: $productId, variation: $variation){
    _id
    type
    key
    options
  }
}
Variables
{
  "productId": "string",
  "variation": {
    "key": "string",
    "type": "string",
    "title": "string"
  }
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "createProductVariation": {
      "_id": "string",
      "key": "string"
    }
  }
}

createProductVariationOption

Adds variation option to an existing product variations

productVariationId:
string

(no description)

(no description)

Example

Request Content-Types: application/json
Query
mutation createProductVariationOption($productVariationId: ID!, $option: CreateProductVariationOptionInput!){
  createProductVariationOption(productVariationId: $productVariationId, option: $option){
    _id
    type
    key
    options
  }
}
Variables
{
  "productVariationId": "string",
  "option": {
    "value": "string",
    "title": "string"
  }
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "createProductVariationOption": {
      "_id": "string",
      "key": "string"
    }
  }
}

createSubscription

Create a subscription.

(no description)

billingAddress:

(no description)

contact:

(no description)

(no description)

(no description)

meta:
object

(no description)

Example

Request Content-Types: application/json
Query
mutation createSubscription($plan: SubscriptionPlanInput!, $billingAddress: AddressInput, $contact: ContactInput, $payment: SubscriptionPaymentInput, $delivery: SubscriptionDeliveryInput, $meta: JSON){
  createSubscription(plan: $plan, billingAddress: $billingAddress, contact: $contact, payment: $payment, delivery: $delivery, meta: $meta){
    _id
    status
    created
    expires
    updated
    isExpired(referenceDate: $referenceDate)
    subscriptionNumber
    meta
    logs(limit: $limit, offset: $offset)
    periods
  }
}
Variables
{
  "plan": {
    "productId": "object",
    "quantity": "number",
    "configuration": [
      {
        "key": "string",
        "value": "string"
      }
    ]
  },
  "billingAddress": {
    "firstName": "string",
    "lastName": "string",
    "company": "string",
    "addressLine": "string",
    "addressLine2": "string",
    "postalCode": "string",
    "regionCode": "string",
    "city": "string",
    "countryCode": "string"
  },
  "contact": {
    "emailAddress": "string",
    "telNumber": "string"
  },
  "payment": {
    "paymentProviderId": "object",
    "meta": "object"
  },
  "delivery": {
    "deliveryProviderId": "object",
    "meta": "object"
  }
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "createSubscription": {
      "_id": "string",
      "isExpired": "boolean",
      "subscriptionNumber": "string"
    }
  }
}

createUser

Create a new user.

username:
string

(no description)

email:
string

(no description)

(no description)

plainPassword:
string

(no description)

(no description)

Example

Request Content-Types: application/json
Query
mutation createUser($username: String, $email: String, $password: HashedPasswordInput, $plainPassword: String, $profile: UserProfileInput){
  createUser(username: $username, email: $email, password: $password, plainPassword: $plainPassword, profile: $profile){
    id
    token
    tokenExpires
  }
}
Variables
{
  "username": "string",
  "email": "string",
  "password": {
    "digest": "string",
    "algorithm": "string"
  },
  "plainPassword": "string",
  "profile": {
    "displayName": "string",
    "birthday": "object",
    "phoneMobile": "string",
    "gender": "string",
    "address": {
      "firstName": "string",
      "lastName": "string",
      "company": "string",
      "addressLine": "string",
      "addressLine2": "string",
      "postalCode": "string",
      "regionCode": "string",
      "city": "string",
      "countryCode": "string"
    },
    "customFields": "object"
  }
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "createUser": {
      "id": "string",
      "token": "string"
    }
  }
}

createWarehousingProvider

Creates new warehouse provider.

warehousingProvider:

(no description)

Example

Request Content-Types: application/json
Query
mutation createWarehousingProvider($warehousingProvider: CreateProviderInput!){
  createWarehousingProvider(warehousingProvider: $warehousingProvider){
    _id
    created
    updated
    deleted
    type
    configuration
    configurationError
    isActive
  }
}
Variables
{
  "warehousingProvider": {
    "type": "string",
    "adapterKey": "string"
  }
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "createWarehousingProvider": {
      "_id": "string",
      "isActive": "boolean"
    }
  }
}

deliverOrder

Manually mark a undelivered order as delivered

orderId:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation deliverOrder($orderId: ID!){
  deliverOrder(orderId: $orderId){
    _id
    status
    created
    updated
    ordered
    orderNumber
    confirmed
    fullfilled
    meta
    items
    discounts
    documents(type: $type)
    supportedDeliveryProviders
    supportedPaymentProviders
    logs(limit: $limit, offset: $offset)
  }
}
Variables
{
  "orderId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "deliverOrder": {
      "_id": "string",
      "orderNumber": "string"
    }
  }
}

doWork

Trigger a registered plugin for "type" to actually do the work with given "input".

type:

(no description)

input:
object

(no description)

Example

Request Content-Types: application/json
Query
mutation doWork($type: WorkType!, $input: JSON){
  doWork(type: $type, input: $input){
    result
    error
    success
  }
}
Variables
{
  "type": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "doWork": {
      "success": "boolean"
    }
  }
}

emptyCart

Remove all items of an open order (cart) if possible. if you want to remove single cart item use removeCartItem instead

orderId:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation emptyCart($orderId: ID){
  emptyCart(orderId: $orderId){
    _id
    status
    created
    updated
    ordered
    orderNumber
    confirmed
    fullfilled
    meta
    items
    discounts
    documents(type: $type)
    supportedDeliveryProviders
    supportedPaymentProviders
    logs(limit: $limit, offset: $offset)
  }
}
Variables
{
  "orderId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "emptyCart": {
      "_id": "string",
      "orderNumber": "string"
    }
  }
}

enrollUser

Enroll a new user, setting enroll to true will let the user choose his password (e-mail gets sent)

(no description)

email:
string

(no description)

password:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation enrollUser($profile: UserProfileInput!, $email: String!, $password: String){
  enrollUser(profile: $profile, email: $email, password: $password){
    _id
    email
    username
    isEmailVerified
    isGuest
    isInitialPassword
    name
    emails
    roles
    tags
    orders(includeCarts: $includeCarts)
    quotations
    logs(offset: $offset, limit: $limit)
    bookmarks
    paymentCredentials
    subscriptions
  }
}
Variables
{
  "profile": {
    "displayName": "string",
    "birthday": "object",
    "phoneMobile": "string",
    "gender": "string",
    "address": {
      "firstName": "string",
      "lastName": "string",
      "company": "string",
      "addressLine": "string",
      "addressLine2": "string",
      "postalCode": "string",
      "regionCode": "string",
      "city": "string",
      "countryCode": "string"
    },
    "customFields": "object"
  },
  "email": "string",
  "password": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "enrollUser": {
      "_id": "string",
      "email": "string",
      "username": "string",
      "isEmailVerified": "boolean",
      "isGuest": "boolean",
      "isInitialPassword": "boolean",
      "name": "string",
      "roles": [
        "string"
      ],
      "tags": [
        "string"
      ]
    }
  }
}

finishWork

Register a work attempt manually.

Note: Usually, work attempts are handled internally by the inbuilt cron worker. This mutation is part of the interface for "outside" workers.

workId:
string

(no description)

result:
object

(no description)

error:
object

(no description)

success:
boolean

(no description)

worker:
string

(no description)

started:
object

(no description)

finished:
object

(no description)

Example

Request Content-Types: application/json
Query
mutation finishWork($workId: ID!, $result: JSON, $error: JSON, $success: Boolean, $worker: String, $started: Date, $finished: Date){
  finishWork(workId: $workId, result: $result, error: $error, success: $success, worker: $worker, started: $started, finished: $finished){
    _id
    started
    finished
    created
    updated
    deleted
    priority
    type
    status
    worker
    input
    result
    error
    success
    scheduled
    retries
    timeout
  }
}
Variables
{
  "workId": "string",
  "success": "boolean",
  "worker": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "finishWork": {
      "_id": "string",
      "priority": "integer",
      "worker": "string",
      "success": "boolean",
      "retries": "integer",
      "timeout": "integer"
    }
  }
}

forgotPassword

Request a forgot password email.

email:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation forgotPassword($email: String!){
  forgotPassword(email: $email){
    success
  }
}
Variables
{
  "email": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "forgotPassword": {
      "success": "boolean"
    }
  }
}

heartbeat

Update hearbeat (updates user activity information such as last login and loged in user IP address, locale and country where they accessed the system)

Example

Request Content-Types: application/json
Query
mutation heartbeat{
  heartbeat{
    _id
    email
    username
    isEmailVerified
    isGuest
    isInitialPassword
    name
    emails
    roles
    tags
    orders(includeCarts: $includeCarts)
    quotations
    logs(offset: $offset, limit: $limit)
    bookmarks
    paymentCredentials
    subscriptions
  }
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "heartbeat": {
      "_id": "string",
      "email": "string",
      "username": "string",
      "isEmailVerified": "boolean",
      "isGuest": "boolean",
      "isInitialPassword": "boolean",
      "name": "string",
      "roles": [
        "string"
      ],
      "tags": [
        "string"
      ]
    }
  }
}

loginAsGuest

Login as Guest User (creates an anonymous user and returns logged in token)

Example

Request Content-Types: application/json
Query
mutation loginAsGuest{
  loginAsGuest{
    id
    token
    tokenExpires
  }
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "loginAsGuest": {
      "id": "string",
      "token": "string"
    }
  }
}

loginWithPassword

Log the user in with a password.

username:
string

(no description)

email:
string

(no description)

(no description)

plainPassword:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation loginWithPassword($username: String, $email: String, $password: HashedPasswordInput, $plainPassword: String){
  loginWithPassword(username: $username, email: $email, password: $password, plainPassword: $plainPassword){
    id
    token
    tokenExpires
  }
}
Variables
{
  "username": "string",
  "email": "string",
  "password": {
    "digest": "string",
    "algorithm": "string"
  },
  "plainPassword": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "loginWithPassword": {
      "id": "string",
      "token": "string"
    }
  }
}

logout

Log the user out.

token:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation logout($token: String){
  logout(token: $token){
    success
  }
}
Variables
{
  "token": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "logout": {
      "success": "boolean"
    }
  }
}

makeQuotationProposal

Make a proposal as answer to the RFP by changing its status to PROCESSED

quotationId:
string

(no description)

quotationContext:
object

(no description)

Example

Request Content-Types: application/json
Query
mutation makeQuotationProposal($quotationId: ID!, $quotationContext: JSON){
  makeQuotationProposal(quotationId: $quotationId, quotationContext: $quotationContext){
    _id
    status
    created
    expires
    updated
    isExpired(referenceDate: $referenceDate)
    quotationNumber
    fullfilled
    rejected
    meta
    configuration
    documents(type: $type)
    logs(limit: $limit, offset: $offset)
  }
}
Variables
{
  "quotationId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "makeQuotationProposal": {
      "_id": "string",
      "isExpired": "boolean",
      "quotationNumber": "string"
    }
  }
}

markPaymentCredentialsPreferred

Make's the provided payment credential as the users preferred method of payment.

paymentCredentialsId:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation markPaymentCredentialsPreferred($paymentCredentialsId: ID!){
  markPaymentCredentialsPreferred(paymentCredentialsId: $paymentCredentialsId){
    _id
    meta
    token
    isValid
    isPreferred
  }
}
Variables
{
  "paymentCredentialsId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "markPaymentCredentialsPreferred": {
      "_id": "string",
      "isValid": "boolean",
      "isPreferred": "boolean"
    }
  }
}

payOrder

Manually mark an unpaid/partially paid order as fully paid

orderId:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation payOrder($orderId: ID!){
  payOrder(orderId: $orderId){
    _id
    status
    created
    updated
    ordered
    orderNumber
    confirmed
    fullfilled
    meta
    items
    discounts
    documents(type: $type)
    supportedDeliveryProviders
    supportedPaymentProviders
    logs(limit: $limit, offset: $offset)
  }
}
Variables
{
  "orderId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "payOrder": {
      "_id": "string",
      "orderNumber": "string"
    }
  }
}

publishProduct

Make the product visible on any shop listings (product queries)

productId:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation publishProduct($productId: ID!){
  publishProduct(productId: $productId){
    _id
    sequence
    status
    tags
    created
    updated
    published
    media(limit: $limit, offset: $offset, tags: $tags)
    reviews
    meta
    assortmentPaths
    siblings(assortmentId: $assortmentId, limit: $limit, offset: $offset, includeInactive: $includeInactive)
  }
}
Variables
{
  "productId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {}
}

registerPaymentCredentials

Register credentials for an existing payment provider allowing to store and use them for later payments (1-click checkout or subscriptions)

paymentContext:
object

(no description)

paymentProviderId:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation registerPaymentCredentials($paymentContext: JSON!, $paymentProviderId: ID!){
  registerPaymentCredentials(paymentContext: $paymentContext, paymentProviderId: $paymentProviderId){
    _id
    meta
    token
    isValid
    isPreferred
  }
}
Variables
{
  "paymentProviderId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "registerPaymentCredentials": {
      "_id": "string",
      "isValid": "boolean",
      "isPreferred": "boolean"
    }
  }
}

rejectQuotation

Reject an RFP, this is possible as long as a quotation is not fullfilled

quotationId:
string

(no description)

quotationContext:
object

(no description)

Example

Request Content-Types: application/json
Query
mutation rejectQuotation($quotationId: ID!, $quotationContext: JSON){
  rejectQuotation(quotationId: $quotationId, quotationContext: $quotationContext){
    _id
    status
    created
    expires
    updated
    isExpired(referenceDate: $referenceDate)
    quotationNumber
    fullfilled
    rejected
    meta
    configuration
    documents(type: $type)
    logs(limit: $limit, offset: $offset)
  }
}
Variables
{
  "quotationId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "rejectQuotation": {
      "_id": "string",
      "isExpired": "boolean",
      "quotationNumber": "string"
    }
  }
}

removeAssortment

Removes assortment with the provided ID

assortmentId:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation removeAssortment($assortmentId: ID!){
  removeAssortment(assortmentId: $assortmentId){
    _id
    created
    updated
    isActive
    isBase
    isRoot
    sequence
    tags
    meta
    productAssignments
    filterAssignments
    linkedAssortments
    assortmentPaths
    children
  }
}
Variables
{
  "assortmentId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "removeAssortment": {
      "_id": "string",
      "isActive": "boolean",
      "isBase": "boolean",
      "isRoot": "boolean",
      "sequence": "integer",
      "tags": [
        "string"
      ]
    }
  }
}

removeAssortmentFilter

Remove a product from an assortment

assortmentFilterId:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation removeAssortmentFilter($assortmentFilterId: ID!){
  removeAssortmentFilter(assortmentFilterId: $assortmentFilterId){
    _id
    sortKey
    tags
    meta
  }
}
Variables
{
  "assortmentFilterId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "removeAssortmentFilter": {
      "_id": "string",
      "sortKey": "integer",
      "tags": [
        "string"
      ]
    }
  }
}

removeAssortmentLink

Remove a child/parent assortment link from it's parent

assortmentLinkId:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation removeAssortmentLink($assortmentLinkId: ID!){
  removeAssortmentLink(assortmentLinkId: $assortmentLinkId){
    _id
    sortKey
    tags
    meta
  }
}
Variables
{
  "assortmentLinkId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "removeAssortmentLink": {
      "_id": "string",
      "sortKey": "integer",
      "tags": [
        "string"
      ]
    }
  }
}

removeAssortmentProduct

Remove a product from an assortment

assortmentProductId:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation removeAssortmentProduct($assortmentProductId: ID!){
  removeAssortmentProduct(assortmentProductId: $assortmentProductId){
    _id
    sortKey
    tags
    meta
  }
}
Variables
{
  "assortmentProductId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "removeAssortmentProduct": {
      "_id": "string",
      "sortKey": "integer",
      "tags": [
        "string"
      ]
    }
  }
}

removeBookmark

Remove an existing bookmark by ID

bookmarkId:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation removeBookmark($bookmarkId: ID!){
  removeBookmark(bookmarkId: $bookmarkId){
    _id
    created
  }
}
Variables
{
  "bookmarkId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "removeBookmark": {
      "_id": "string"
    }
  }
}

removeBundleItem

Removes products bundle item found at the given 0 based index.

productId:
string

(no description)

index:
integer

(no description)

Example

Request Content-Types: application/json
Query
mutation removeBundleItem($productId: ID!, $index: Int!){
  removeBundleItem(productId: $productId, index: $index){
    _id
    sequence
    status
    tags
    created
    updated
    published
    media(limit: $limit, offset: $offset, tags: $tags)
    reviews
    meta
    assortmentPaths
    siblings(assortmentId: $assortmentId, limit: $limit, offset: $offset, includeInactive: $includeInactive)
  }
}
Variables
{
  "productId": "string",
  "index": "integer"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {}
}

removeCartDiscount

Remove a discount from the cart

discountId:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation removeCartDiscount($discountId: ID!){
  removeCartDiscount(discountId: $discountId){
    _id
    trigger
    code
    discounted
  }
}
Variables
{
  "discountId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "removeCartDiscount": {
      "_id": "string",
      "code": "string",
      "discounted": [
        null
      ]
    }
  }
}

removeCartItem

Remove an item from an open order

itemId:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation removeCartItem($itemId: ID!){
  removeCartItem(itemId: $itemId){
    _id
    quantity
    discounts
    dispatches
    configuration
  }
}
Variables
{
  "itemId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "removeCartItem": {
      "_id": "string",
      "quantity": "integer"
    }
  }
}

removeCountry

Deletes the specified country

countryId:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation removeCountry($countryId: ID!){
  removeCountry(countryId: $countryId){
    _id
    isoCode
    isActive
    isBase
    flagEmoji
    name(forceLocale: $forceLocale)
  }
}
Variables
{
  "countryId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "removeCountry": {
      "_id": "string",
      "isoCode": "string",
      "isActive": "boolean",
      "isBase": "boolean",
      "flagEmoji": "string",
      "name": "string"
    }
  }
}

removeCurrency

Deletes the specified currency

currencyId:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation removeCurrency($currencyId: ID!){
  removeCurrency(currencyId: $currencyId){
    _id
    isoCode
    isActive
  }
}
Variables
{
  "currencyId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "removeCurrency": {
      "_id": "string",
      "isoCode": "string",
      "isActive": "boolean"
    }
  }
}

removeDeliveryProvider

Deletes a delivery provider by setting the deleted field to current timestamp. Note the delivery provider still exists.

deliveryProviderId:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation removeDeliveryProvider($deliveryProviderId: ID!){
  removeDeliveryProvider(deliveryProviderId: $deliveryProviderId){
    _id
    created
    updated
    deleted
    type
    configuration
    configurationError
    isActive
  }
}
Variables
{
  "deliveryProviderId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "removeDeliveryProvider": {
      "_id": "string",
      "isActive": "boolean"
    }
  }
}

removeEmail

Update E-Mail address of any user or logged in user if userId is not provided

email:
string

(no description)

userId:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation removeEmail($email: String!, $userId: ID){
  removeEmail(email: $email, userId: $userId){
    _id
    email
    username
    isEmailVerified
    isGuest
    isInitialPassword
    name
    emails
    roles
    tags
    orders(includeCarts: $includeCarts)
    quotations
    logs(offset: $offset, limit: $limit)
    bookmarks
    paymentCredentials
    subscriptions
  }
}
Variables
{
  "email": "string",
  "userId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "removeEmail": {
      "_id": "string",
      "email": "string",
      "username": "string",
      "isEmailVerified": "boolean",
      "isGuest": "boolean",
      "isInitialPassword": "boolean",
      "name": "string",
      "roles": [
        "string"
      ],
      "tags": [
        "string"
      ]
    }
  }
}

removeFilter

Deletes the specified filter

filterId:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation removeFilter($filterId: ID!){
  removeFilter(filterId: $filterId){
    _id
    updated
    created
    isActive
    type
    key
    options
  }
}
Variables
{
  "filterId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "removeFilter": {
      "_id": "string",
      "isActive": "boolean",
      "key": "string"
    }
  }
}

removeFilterOption

Removes the filter option from the specified filter.

filterId:
string

(no description)

filterOptionValue:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation removeFilterOption($filterId: ID!, $filterOptionValue: String!){
  removeFilterOption(filterId: $filterId, filterOptionValue: $filterOptionValue){
    _id
    updated
    created
    isActive
    type
    key
    options
  }
}
Variables
{
  "filterId": "string",
  "filterOptionValue": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "removeFilterOption": {
      "_id": "string",
      "isActive": "boolean",
      "key": "string"
    }
  }
}

removeLanguage

Deletes the specified languages

languageId:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation removeLanguage($languageId: ID!){
  removeLanguage(languageId: $languageId){
    _id
    isoCode
    isActive
    isBase
    name
  }
}
Variables
{
  "languageId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "removeLanguage": {
      "_id": "string",
      "isoCode": "string",
      "isActive": "boolean",
      "isBase": "boolean",
      "name": "string"
    }
  }
}

removeOrder

Remove an order while it's still open

orderId:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation removeOrder($orderId: ID!){
  removeOrder(orderId: $orderId){
    _id
    status
    created
    updated
    ordered
    orderNumber
    confirmed
    fullfilled
    meta
    items
    discounts
    documents(type: $type)
    supportedDeliveryProviders
    supportedPaymentProviders
    logs(limit: $limit, offset: $offset)
  }
}
Variables
{
  "orderId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "removeOrder": {
      "_id": "string",
      "orderNumber": "string"
    }
  }
}

removePaymentCredentials

Deletes the specified payment credential

paymentCredentialsId:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation removePaymentCredentials($paymentCredentialsId: ID!){
  removePaymentCredentials(paymentCredentialsId: $paymentCredentialsId){
    _id
    meta
    token
    isValid
    isPreferred
  }
}
Variables
{
  "paymentCredentialsId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "removePaymentCredentials": {
      "_id": "string",
      "isValid": "boolean",
      "isPreferred": "boolean"
    }
  }
}

removePaymentProvider

Deletes the specified payment provider by setting the deleted filed to current timestamp. Note the payment provider is still available only it’s status is deleted

paymentProviderId:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation removePaymentProvider($paymentProviderId: ID!){
  removePaymentProvider(paymentProviderId: $paymentProviderId){
    _id
    created
    updated
    deleted
    type
    configuration
    configurationError
  }
}
Variables
{
  "paymentProviderId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "removePaymentProvider": {
      "_id": "string"
    }
  }
}

removeProduct

Remove the product completely!

productId:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation removeProduct($productId: ID!){
  removeProduct(productId: $productId){
    _id
    sequence
    status
    tags
    created
    updated
    published
    media(limit: $limit, offset: $offset, tags: $tags)
    reviews
    meta
    assortmentPaths
    siblings(assortmentId: $assortmentId, limit: $limit, offset: $offset, includeInactive: $includeInactive)
  }
}
Variables
{
  "productId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {}
}

removeProductAssignment

Unlinks a product from a ConfigurableProduct by providing a configuration combination that uniquely identifies a row in the assignment matrix

proxyId:
string

(no description)

(no description)

Example

Request Content-Types: application/json
Query
mutation removeProductAssignment($proxyId: ID!, $vectors: [ProductAssignmentVectorInput!]!){
  removeProductAssignment(proxyId: $proxyId, vectors: $vectors){
    _id
    sequence
    status
    tags
    created
    updated
    published
    media(limit: $limit, offset: $offset, tags: $tags)
    reviews
    meta
    assortmentPaths
    siblings(assortmentId: $assortmentId, limit: $limit, offset: $offset, includeInactive: $includeInactive)
  }
}
Variables
{
  "proxyId": "string",
  "vectors": [
    {
      "key": "string",
      "value": "string"
    }
  ]
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {}
}

removeProductMedia

Remove a media asset from a product's visualization

productMediaId:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation removeProductMedia($productMediaId: ID!){
  removeProductMedia(productMediaId: $productMediaId){
    _id
    tags
    sortKey
  }
}
Variables
{
  "productMediaId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "removeProductMedia": {
      "_id": "string",
      "tags": [
        "string"
      ],
      "sortKey": "integer"
    }
  }
}

removeProductReview

Remove an existing ProductReview. The logic to allow/dissallow removal is controlled by product plugin logic

productReviewId:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation removeProductReview($productReviewId: ID!){
  removeProductReview(productReviewId: $productReviewId){
    _id
    created
    updated
    deleted
    rating
    title
    review
    meta
    voteCount(type: $type)
    ownVotes
  }
}
Variables
{
  "productReviewId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "removeProductReview": {
      "_id": "string",
      "rating": "integer",
      "title": "string",
      "review": "string",
      "voteCount": "integer"
    }
  }
}

removeProductReviewVote

Remove a vote from a ProductReview

productReviewId:
string

(no description)

(no description)

Example

Request Content-Types: application/json
Query
mutation removeProductReviewVote($productReviewId: ID!, $type: ProductReviewVoteType){
  removeProductReviewVote(productReviewId: $productReviewId, type: $type){
    _id
    created
    updated
    deleted
    rating
    title
    review
    meta
    voteCount(type: $type)
    ownVotes
  }
}
Variables
{
  "productReviewId": "string",
  "type": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "removeProductReviewVote": {
      "_id": "string",
      "rating": "integer",
      "title": "string",
      "review": "string",
      "voteCount": "integer"
    }
  }
}

removeProductVariation

Removes product variation with the provided ID

productVariationId:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation removeProductVariation($productVariationId: ID!){
  removeProductVariation(productVariationId: $productVariationId){
    _id
    type
    key
    options
  }
}
Variables
{
  "productVariationId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "removeProductVariation": {
      "_id": "string",
      "key": "string"
    }
  }
}

removeProductVariationOption

Removes product option value for product variation with the provided variation option value

productVariationId:
string

(no description)

productVariationOptionValue:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation removeProductVariationOption($productVariationId: ID!, $productVariationOptionValue: String!){
  removeProductVariationOption(productVariationId: $productVariationId, productVariationOptionValue: $productVariationOptionValue){
    _id
    type
    key
    options
  }
}
Variables
{
  "productVariationId": "string",
  "productVariationOptionValue": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "removeProductVariationOption": {
      "_id": "string",
      "key": "string"
    }
  }
}

removeWarehousingProvider

Deletes the specified warehousing provider by setting the deleted filed to current timestamp. Note warehousing provider still exists in the system after successful completing of this operation with status deleted.

warehousingProviderId:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation removeWarehousingProvider($warehousingProviderId: ID!){
  removeWarehousingProvider(warehousingProviderId: $warehousingProviderId){
    _id
    created
    updated
    deleted
    type
    configuration
    configurationError
    isActive
  }
}
Variables
{
  "warehousingProviderId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "removeWarehousingProvider": {
      "_id": "string",
      "isActive": "boolean"
    }
  }
}

removeWork

Manually remove a work

workId:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation removeWork($workId: ID!){
  removeWork(workId: $workId){
    _id
    started
    finished
    created
    updated
    deleted
    priority
    type
    status
    worker
    input
    result
    error
    success
    scheduled
    retries
    timeout
  }
}
Variables
{
  "workId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "removeWork": {
      "_id": "string",
      "priority": "integer",
      "worker": "string",
      "success": "boolean",
      "retries": "integer",
      "timeout": "integer"
    }
  }
}

reorderAssortmentFilters

Reorder the products in an assortment

(no description)

Example

Request Content-Types: application/json
Query
mutation reorderAssortmentFilters($sortKeys: [ReorderAssortmentFilterInput!]!){
  reorderAssortmentFilters(sortKeys: $sortKeys)
}
Variables
{
  "sortKeys": [
    {
      "assortmentFilterId": "object",
      "sortKey": "number"
    }
  ]
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "reorderAssortmentFilters": [
      {
        "_id": "string",
        "sortKey": "integer",
        "tags": [
          "string"
        ]
      }
    ]
  }
}

reorderAssortmentLinks

Reorder the child assortment links in it's parent

(no description)

Example

Request Content-Types: application/json
Query
mutation reorderAssortmentLinks($sortKeys: [ReorderAssortmentLinkInput!]!){
  reorderAssortmentLinks(sortKeys: $sortKeys)
}
Variables
{
  "sortKeys": [
    {
      "assortmentLinkId": "object",
      "sortKey": "number"
    }
  ]
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "reorderAssortmentLinks": [
      {
        "_id": "string",
        "sortKey": "integer",
        "tags": [
          "string"
        ]
      }
    ]
  }
}

reorderAssortmentProducts

Reorder the products in an assortment

(no description)

Example

Request Content-Types: application/json
Query
mutation reorderAssortmentProducts($sortKeys: [ReorderAssortmentProductInput!]!){
  reorderAssortmentProducts(sortKeys: $sortKeys)
}
Variables
{
  "sortKeys": [
    {
      "assortmentProductId": "object",
      "sortKey": "number"
    }
  ]
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "reorderAssortmentProducts": [
      {
        "_id": "string",
        "sortKey": "integer",
        "tags": [
          "string"
        ]
      }
    ]
  }
}

reorderProductMedia

Reorder a media asset (first is primary)

(no description)

Example

Request Content-Types: application/json
Query
mutation reorderProductMedia($sortKeys: [ReorderProductMediaInput!]!){
  reorderProductMedia(sortKeys: $sortKeys)
}
Variables
{
  "sortKeys": [
    {
      "productMediaId": "object",
      "sortKey": "number"
    }
  ]
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "reorderProductMedia": [
      {
        "_id": "string",
        "tags": [
          "string"
        ],
        "sortKey": "integer"
      }
    ]
  }
}

requestQuotation

Request for Proposal (RFP) for the specified product

productId:
string

(no description)

(no description)

Example

Request Content-Types: application/json
Query
mutation requestQuotation($productId: ID!, $configuration: [ProductConfigurationParameterInput!]){
  requestQuotation(productId: $productId, configuration: $configuration){
    _id
    status
    created
    expires
    updated
    isExpired(referenceDate: $referenceDate)
    quotationNumber
    fullfilled
    rejected
    meta
    configuration
    documents(type: $type)
    logs(limit: $limit, offset: $offset)
  }
}
Variables
{
  "productId": "string",
  "configuration": [
    {
      "key": "string",
      "value": "string"
    }
  ]
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "requestQuotation": {
      "_id": "string",
      "isExpired": "boolean",
      "quotationNumber": "string"
    }
  }
}

resendVerificationEmail

Send an email with a link the user can use verify their email address.

email:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation resendVerificationEmail($email: String){
  resendVerificationEmail(email: $email){
    success
  }
}
Variables
{
  "email": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "resendVerificationEmail": {
      "success": "boolean"
    }
  }
}

resetPassword

Reset the password for a user using a token received in email. Logs the user in afterwards.

newPlainPassword:
string

(no description)

newPassword:

(no description)

token:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation resetPassword($newPlainPassword: String, $newPassword: HashedPasswordInput, $token: String!){
  resetPassword(newPlainPassword: $newPlainPassword, newPassword: $newPassword, token: $token){
    id
    token
    tokenExpires
  }
}
Variables
{
  "newPlainPassword": "string",
  "newPassword": {
    "digest": "string",
    "algorithm": "string"
  },
  "token": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "resetPassword": {
      "id": "string",
      "token": "string"
    }
  }
}

sendContactForm

Send a Call-me-back request to the Company, returns messageId if successfully sent mail

(no description)

Example

Request Content-Types: application/json
Query
mutation sendContactForm($request: ContactFormInput!){
  sendContactForm(request: $request)
}
Variables
{
  "request": {
    "email": "string",
    "comment": "string"
  }
}
Try it now
200 OK

Successful operation

type
string
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "sendContactForm": "string"
  }
}

setBaseAssortment

Makes the assortment provided as the base assortment and make any other existing base assortment regular assortments.

assortmentId:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation setBaseAssortment($assortmentId: ID!){
  setBaseAssortment(assortmentId: $assortmentId){
    _id
    created
    updated
    isActive
    isBase
    isRoot
    sequence
    tags
    meta
    productAssignments
    filterAssignments
    linkedAssortments
    assortmentPaths
    children
  }
}
Variables
{
  "assortmentId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "setBaseAssortment": {
      "_id": "string",
      "isActive": "boolean",
      "isBase": "boolean",
      "isRoot": "boolean",
      "sequence": "integer",
      "tags": [
        "string"
      ]
    }
  }
}

setBaseCountry

Make’s the country provided as the base and make any other existing base country regular.

countryId:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation setBaseCountry($countryId: ID!){
  setBaseCountry(countryId: $countryId){
    _id
    isoCode
    isActive
    isBase
    flagEmoji
    name(forceLocale: $forceLocale)
  }
}
Variables
{
  "countryId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "setBaseCountry": {
      "_id": "string",
      "isoCode": "string",
      "isActive": "boolean",
      "isBase": "boolean",
      "flagEmoji": "string",
      "name": "string"
    }
  }
}

setBaseLanguage

Make’s the language provided as the base and make any other existing base language regular.

languageId:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation setBaseLanguage($languageId: ID!){
  setBaseLanguage(languageId: $languageId){
    _id
    isoCode
    isActive
    isBase
    name
  }
}
Variables
{
  "languageId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "setBaseLanguage": {
      "_id": "string",
      "isoCode": "string",
      "isActive": "boolean",
      "isBase": "boolean",
      "name": "string"
    }
  }
}

setOrderDeliveryProvider

Change the delivery method/provider to an order. If the delivery provider doesn’t exists new delivery provider will be created with the provided ID.

orderId:
string

(no description)

deliveryProviderId:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation setOrderDeliveryProvider($orderId: ID!, $deliveryProviderId: ID!){
  setOrderDeliveryProvider(orderId: $orderId, deliveryProviderId: $deliveryProviderId){
    _id
    status
    created
    updated
    ordered
    orderNumber
    confirmed
    fullfilled
    meta
    items
    discounts
    documents(type: $type)
    supportedDeliveryProviders
    supportedPaymentProviders
    logs(limit: $limit, offset: $offset)
  }
}
Variables
{
  "orderId": "string",
  "deliveryProviderId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "setOrderDeliveryProvider": {
      "_id": "string",
      "orderNumber": "string"
    }
  }
}

setOrderPaymentProvider

Change the payment method/provider to an order. If the payment provider doesn’t exists new payment provider will be created with the provided ID.

orderId:
string

(no description)

paymentProviderId:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation setOrderPaymentProvider($orderId: ID!, $paymentProviderId: ID!){
  setOrderPaymentProvider(orderId: $orderId, paymentProviderId: $paymentProviderId){
    _id
    status
    created
    updated
    ordered
    orderNumber
    confirmed
    fullfilled
    meta
    items
    discounts
    documents(type: $type)
    supportedDeliveryProviders
    supportedPaymentProviders
    logs(limit: $limit, offset: $offset)
  }
}
Variables
{
  "orderId": "string",
  "paymentProviderId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "setOrderPaymentProvider": {
      "_id": "string",
      "orderNumber": "string"
    }
  }
}

setPassword

Set a new password for a specific user

newPassword:
string

(no description)

userId:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation setPassword($newPassword: String!, $userId: ID!){
  setPassword(newPassword: $newPassword, userId: $userId){
    _id
    email
    username
    isEmailVerified
    isGuest
    isInitialPassword
    name
    emails
    roles
    tags
    orders(includeCarts: $includeCarts)
    quotations
    logs(offset: $offset, limit: $limit)
    bookmarks
    paymentCredentials
    subscriptions
  }
}
Variables
{
  "newPassword": "string",
  "userId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "setPassword": {
      "_id": "string",
      "email": "string",
      "username": "string",
      "isEmailVerified": "boolean",
      "isGuest": "boolean",
      "isInitialPassword": "boolean",
      "name": "string",
      "roles": [
        "string"
      ],
      "tags": [
        "string"
      ]
    }
  }
}

setRoles

Set roles of a user

roles:
string[]

(no description)

userId:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation setRoles($roles: [String!]!, $userId: ID!){
  setRoles(roles: $roles, userId: $userId){
    _id
    email
    username
    isEmailVerified
    isGuest
    isInitialPassword
    name
    emails
    roles
    tags
    orders(includeCarts: $includeCarts)
    quotations
    logs(offset: $offset, limit: $limit)
    bookmarks
    paymentCredentials
    subscriptions
  }
}
Variables
{
  "roles": [
    "string"
  ],
  "userId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "setRoles": {
      "_id": "string",
      "email": "string",
      "username": "string",
      "isEmailVerified": "boolean",
      "isGuest": "boolean",
      "isInitialPassword": "boolean",
      "name": "string",
      "roles": [
        "string"
      ],
      "tags": [
        "string"
      ]
    }
  }
}

setUserTags

Set tags of user

tags:
string[]

(no description)

userId:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation setUserTags($tags: [String]!, $userId: ID!){
  setUserTags(tags: $tags, userId: $userId){
    _id
    email
    username
    isEmailVerified
    isGuest
    isInitialPassword
    name
    emails
    roles
    tags
    orders(includeCarts: $includeCarts)
    quotations
    logs(offset: $offset, limit: $limit)
    bookmarks
    paymentCredentials
    subscriptions
  }
}
Variables
{
  "tags": [
    "string"
  ],
  "userId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "setUserTags": {
      "_id": "string",
      "email": "string",
      "username": "string",
      "isEmailVerified": "boolean",
      "isGuest": "boolean",
      "isInitialPassword": "boolean",
      "name": "string",
      "roles": [
        "string"
      ],
      "tags": [
        "string"
      ]
    }
  }
}

setUsername

Set username for a specific user

username:
string

(no description)

userId:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation setUsername($username: String!, $userId: ID!){
  setUsername(username: $username, userId: $userId){
    _id
    email
    username
    isEmailVerified
    isGuest
    isInitialPassword
    name
    emails
    roles
    tags
    orders(includeCarts: $includeCarts)
    quotations
    logs(offset: $offset, limit: $limit)
    bookmarks
    paymentCredentials
    subscriptions
  }
}
Variables
{
  "username": "string",
  "userId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "setUsername": {
      "_id": "string",
      "email": "string",
      "username": "string",
      "isEmailVerified": "boolean",
      "isGuest": "boolean",
      "isInitialPassword": "boolean",
      "name": "string",
      "roles": [
        "string"
      ],
      "tags": [
        "string"
      ]
    }
  }
}

terminateSubscription

Terminate an actively running subscription by changing it's status to TERMINATED

subscriptionId:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation terminateSubscription($subscriptionId: ID!){
  terminateSubscription(subscriptionId: $subscriptionId){
    _id
    status
    created
    expires
    updated
    isExpired(referenceDate: $referenceDate)
    subscriptionNumber
    meta
    logs(limit: $limit, offset: $offset)
    periods
  }
}
Variables
{
  "subscriptionId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "terminateSubscription": {
      "_id": "string",
      "isExpired": "boolean",
      "subscriptionNumber": "string"
    }
  }
}

unpublishProduct

Hide the product visible from any shop listings (product queries)

productId:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation unpublishProduct($productId: ID!){
  unpublishProduct(productId: $productId){
    _id
    sequence
    status
    tags
    created
    updated
    published
    media(limit: $limit, offset: $offset, tags: $tags)
    reviews
    meta
    assortmentPaths
    siblings(assortmentId: $assortmentId, limit: $limit, offset: $offset, includeInactive: $includeInactive)
  }
}
Variables
{
  "productId": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {}
}

updateAssortment

Updates the provided assortment

(no description)

assortmentId:
string

(no description)

Example

Request Content-Types: application/json
Query
mutation updateAssortment($assortment: UpdateAssortmentInput!, $assortmentId: ID!){
  updateAssortment(assortment: $assortment, assortmentId: $assortmentId){
    _id
    created
    updated
    isActive
    isBase
    isRoot
    sequence
    tags
    meta
    productAssignments
    filterAssignments
    linkedAssortments
    assortmentPaths
    children
  }
}
Variables
{
  "assortment": {
    "isRoot": "boolean",
    "tags": [
      "string"
    ],
    "isActive": "boolean"
  },
  "assortmentId": "string"
}