***

title: "Types"
generated: true
---------------

<a name="addfulfillmenttoorderresult"></a>

## AddFulfillmentToOrderResult

\<GraphQLDoc
type="union"
typeName="AddFulfillmentToOrderResult"
typeLinks={{
Fulfillment: '/reference/graphql-api/admin/object-types#fulfillment',
EmptyOrderLineSelectionError: '/reference/graphql-api/admin/object-types#emptyorderlineselectionerror',
ItemsAlreadyFulfilledError: '/reference/graphql-api/admin/object-types#itemsalreadyfulfillederror',
InsufficientStockOnHandError: '/reference/graphql-api/admin/object-types#insufficientstockonhanderror',
InvalidFulfillmentHandlerError: '/reference/graphql-api/admin/object-types#invalidfulfillmenthandlererror',
FulfillmentStateTransitionError: '/reference/graphql-api/admin/object-types#fulfillmentstatetransitionerror',
CreateFulfillmentError: '/reference/graphql-api/admin/object-types#createfulfillmenterror',
}}

>

{`union AddFulfillmentToOrderResult = Fulfillment | EmptyOrderLineSelectionError | ItemsAlreadyFulfilledError | InsufficientStockOnHandError | InvalidFulfillmentHandlerError | FulfillmentStateTransitionError | CreateFulfillmentError`} </GraphQLDoc>

<a name="addmanualpaymenttoorderresult"></a>

## AddManualPaymentToOrderResult

\<GraphQLDoc
type="union"
typeName="AddManualPaymentToOrderResult"
typeLinks={{
Order: '/reference/graphql-api/admin/object-types#order',
ManualPaymentStateError: '/reference/graphql-api/admin/object-types#manualpaymentstateerror',
}}

>

{`union AddManualPaymentToOrderResult = Order | ManualPaymentStateError`} </GraphQLDoc>

<a name="address"></a>

## Address

\<GraphQLDoc
type="type"
typeName="Address"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
String: '/reference/graphql-api/admin/object-types#string',
Country: '/reference/graphql-api/admin/object-types#country',
Boolean: '/reference/graphql-api/admin/object-types#boolean',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type Address {
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  fullName: String
  company: String
  streetLine1: String!
  streetLine2: String
  city: String
  province: String
  postalCode: String
  country: Country!
  phoneNumber: String
  defaultShippingAddress: Boolean
  defaultBillingAddress: Boolean
  customFields: JSON
}`} </GraphQLDoc>

<a name="adjustment"></a>

## Adjustment

\<GraphQLDoc
type="type"
typeName="Adjustment"
typeLinks={{
String: '/reference/graphql-api/admin/object-types#string',
AdjustmentType: '/reference/graphql-api/admin/enums#adjustmenttype',
Money: '/reference/graphql-api/admin/object-types#money',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type Adjustment {
  adjustmentSource: String!
  type: AdjustmentType!
  description: String!
  amount: Money!
  data: JSON
}`} </GraphQLDoc>

<a name="administrator"></a>

## Administrator

\<GraphQLDoc
type="type"
typeName="Administrator"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
String: '/reference/graphql-api/admin/object-types#string',
User: '/reference/graphql-api/admin/object-types#user',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type Administrator {
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  firstName: String!
  lastName: String!
  emailAddress: String!
  user: User!
  customFields: JSON
}`} </GraphQLDoc>

<a name="administratorlist"></a>

## AdministratorList

\<GraphQLDoc
type="type"
typeName="AdministratorList"
typeLinks={{
Administrator: '/reference/graphql-api/admin/object-types#administrator',
Int: '/reference/graphql-api/admin/object-types#int',
}}

>

{`type AdministratorList {
  items: [Administrator!]!
  totalItems: Int!
}`} </GraphQLDoc>

<a name="allocation"></a>

## Allocation

\<GraphQLDoc
type="type"
typeName="Allocation"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
ProductVariant: '/reference/graphql-api/admin/object-types#productvariant',
StockMovementType: '/reference/graphql-api/admin/enums#stockmovementtype',
Int: '/reference/graphql-api/admin/object-types#int',
OrderLine: '/reference/graphql-api/admin/object-types#orderline',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type Allocation {
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  productVariant: ProductVariant!
  type: StockMovementType!
  quantity: Int!
  orderLine: OrderLine!
  customFields: JSON
}`} </GraphQLDoc>

<a name="alreadyrefundederror"></a>

## AlreadyRefundedError

\<GraphQLDoc
type="type"
typeName="AlreadyRefundedError"
typeLinks={{
ErrorCode: '/reference/graphql-api/admin/enums#errorcode',
String: '/reference/graphql-api/admin/object-types#string',
ID: '/reference/graphql-api/admin/object-types#id',
}}

>

{`"""Returned if an attempting to refund an OrderItem which has already been refunded"""
type AlreadyRefundedError {
  errorCode: ErrorCode!
  message: String!
  refundId: ID!
}`} </GraphQLDoc>

<a name="apikey"></a>

## ApiKey

\<GraphQLDoc
type="type"
typeName="ApiKey"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
String: '/reference/graphql-api/admin/object-types#string',
User: '/reference/graphql-api/admin/object-types#user',
ApiKeyTranslation: '/reference/graphql-api/admin/object-types#apikeytranslation',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type ApiKey {
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  """
  ID by which we can look up the API-Key.
  Also helps you identify keys without leaking the underlying secret API-Key.
  """
  lookupId: String!
  """Helps you identify unused keys"""
  lastUsedAt: DateTime
  """
  Usually the user who created the ApiKey but could also be used as the basis for
  restricting resolvers to \`Permission.Owner\` queries for customers for example.
"""
owner: User!
"""This is the underlying User which determines the kind of permissions for this API-Key."""
user: User!
"""A descriptive name so you can remind yourself where the API-Key gets used"""
name: String!
translations: \[ApiKeyTranslation!]!
customFields: JSON
}\`} </GraphQLDoc>

<a name="apikeylist"></a>

## ApiKeyList

\<GraphQLDoc
type="type"
typeName="ApiKeyList"
typeLinks={{
ApiKey: '/reference/graphql-api/admin/object-types#apikey',
Int: '/reference/graphql-api/admin/object-types#int',
}}

>

{`type ApiKeyList {
  items: [ApiKey!]!
  totalItems: Int!
}`} </GraphQLDoc>

<a name="apikeytranslation"></a>

## ApiKeyTranslation

\<GraphQLDoc
type="type"
typeName="ApiKeyTranslation"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
LanguageCode: '/reference/graphql-api/admin/enums#languagecode',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`type ApiKeyTranslation {
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  languageCode: LanguageCode!
  """A descriptive name so you can remind yourself where the API-Key gets used"""
  name: String!
}`} </GraphQLDoc>

<a name="applycouponcoderesult"></a>

## ApplyCouponCodeResult

\<GraphQLDoc
type="union"
typeName="ApplyCouponCodeResult"
typeLinks={{
Order: '/reference/graphql-api/admin/object-types#order',
CouponCodeExpiredError: '/reference/graphql-api/admin/object-types#couponcodeexpirederror',
CouponCodeInvalidError: '/reference/graphql-api/admin/object-types#couponcodeinvaliderror',
CouponCodeLimitError: '/reference/graphql-api/admin/object-types#couponcodelimiterror',
}}

>

{`union ApplyCouponCodeResult = Order | CouponCodeExpiredError | CouponCodeInvalidError | CouponCodeLimitError`} </GraphQLDoc>

<a name="asset"></a>

## Asset

\<GraphQLDoc
type="type"
typeName="Asset"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
LanguageCode: '/reference/graphql-api/admin/enums#languagecode',
String: '/reference/graphql-api/admin/object-types#string',
AssetType: '/reference/graphql-api/admin/enums#assettype',
Int: '/reference/graphql-api/admin/object-types#int',
Coordinate: '/reference/graphql-api/admin/object-types#coordinate',
Tag: '/reference/graphql-api/admin/object-types#tag',
AssetTranslation: '/reference/graphql-api/admin/object-types#assettranslation',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type Asset {
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  languageCode: LanguageCode!
  name: String!
  type: AssetType!
  fileSize: Int!
  mimeType: String!
  width: Int!
  height: Int!
  source: String!
  preview: String!
  focalPoint: Coordinate
  tags: [Tag!]!
  translations: [AssetTranslation!]!
  customFields: JSON
}`} </GraphQLDoc>

<a name="assetlist"></a>

## AssetList

\<GraphQLDoc
type="type"
typeName="AssetList"
typeLinks={{
Asset: '/reference/graphql-api/admin/object-types#asset',
Int: '/reference/graphql-api/admin/object-types#int',
}}

>

{`type AssetList {
  items: [Asset!]!
  totalItems: Int!
}`} </GraphQLDoc>

<a name="assettranslation"></a>

## AssetTranslation

\<GraphQLDoc
type="type"
typeName="AssetTranslation"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
LanguageCode: '/reference/graphql-api/admin/enums#languagecode',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`type AssetTranslation {
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  languageCode: LanguageCode!
  name: String!
}`} </GraphQLDoc>

<a name="authenticationmethod"></a>

## AuthenticationMethod

\<GraphQLDoc
type="type"
typeName="AuthenticationMethod"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`type AuthenticationMethod {
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  strategy: String!
}`} </GraphQLDoc>

<a name="authenticationresult"></a>

## AuthenticationResult

\<GraphQLDoc
type="union"
typeName="AuthenticationResult"
typeLinks={{
CurrentUser: '/reference/graphql-api/admin/object-types#currentuser',
InvalidCredentialsError: '/reference/graphql-api/admin/object-types#invalidcredentialserror',
}}

>

{`union AuthenticationResult = CurrentUser | InvalidCredentialsError`} </GraphQLDoc>

<a name="boolean"></a>

## Boolean

\<GraphQLDoc
type="scalar"
typeName="Boolean"
typeLinks={{}}

>

{`"""The \`Boolean\` scalar type represents \`true\` or \`false\`."""
scalar Boolean\`} </GraphQLDoc>

<a name="booleancustomfieldconfig"></a>

## BooleanCustomFieldConfig

\<GraphQLDoc
type="type"
typeName="BooleanCustomFieldConfig"
typeLinks={{
String: '/reference/graphql-api/admin/object-types#string',
Boolean: '/reference/graphql-api/admin/object-types#boolean',
LocalizedString: '/reference/graphql-api/admin/object-types#localizedstring',
Permission: '/reference/graphql-api/admin/enums#permission',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type BooleanCustomFieldConfig {
  name: String!
  type: String!
  list: Boolean!
  label: [LocalizedString!]
  description: [LocalizedString!]
  readonly: Boolean
  internal: Boolean
  nullable: Boolean
  requiresPermission: [Permission!]
  deprecated: Boolean
  deprecationReason: String
  ui: JSON
}`} </GraphQLDoc>

<a name="booleanstructfieldconfig"></a>

## BooleanStructFieldConfig

\<GraphQLDoc
type="type"
typeName="BooleanStructFieldConfig"
typeLinks={{
String: '/reference/graphql-api/admin/object-types#string',
Boolean: '/reference/graphql-api/admin/object-types#boolean',
LocalizedString: '/reference/graphql-api/admin/object-types#localizedstring',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type BooleanStructFieldConfig {
  name: String!
  type: String!
  list: Boolean!
  label: [LocalizedString!]
  description: [LocalizedString!]
  ui: JSON
}`} </GraphQLDoc>

<a name="cancelactiveordererror"></a>

## CancelActiveOrderError

\<GraphQLDoc
type="type"
typeName="CancelActiveOrderError"
typeLinks={{
ErrorCode: '/reference/graphql-api/admin/enums#errorcode',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`"""Returned if an attempting to cancel lines from an Order which is still active"""
type CancelActiveOrderError {
  errorCode: ErrorCode!
  message: String!
  orderState: String!
}`} </GraphQLDoc>

<a name="cancelorderresult"></a>

## CancelOrderResult

\<GraphQLDoc
type="union"
typeName="CancelOrderResult"
typeLinks={{
Order: '/reference/graphql-api/admin/object-types#order',
EmptyOrderLineSelectionError: '/reference/graphql-api/admin/object-types#emptyorderlineselectionerror',
QuantityTooGreatError: '/reference/graphql-api/admin/object-types#quantitytoogreaterror',
MultipleOrderError: '/reference/graphql-api/admin/object-types#multipleordererror',
CancelActiveOrderError: '/reference/graphql-api/admin/object-types#cancelactiveordererror',
OrderStateTransitionError: '/reference/graphql-api/admin/object-types#orderstatetransitionerror',
}}

>

{`union CancelOrderResult = Order | EmptyOrderLineSelectionError | QuantityTooGreatError | MultipleOrderError | CancelActiveOrderError | OrderStateTransitionError`} </GraphQLDoc>

<a name="cancelpaymenterror"></a>

## CancelPaymentError

\<GraphQLDoc
type="type"
typeName="CancelPaymentError"
typeLinks={{
ErrorCode: '/reference/graphql-api/admin/enums#errorcode',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`"""Returned if the Payment cancellation fails"""
type CancelPaymentError {
  errorCode: ErrorCode!
  message: String!
  paymentErrorMessage: String!
}`} </GraphQLDoc>

<a name="cancelpaymentresult"></a>

## CancelPaymentResult

\<GraphQLDoc
type="union"
typeName="CancelPaymentResult"
typeLinks={{
Payment: '/reference/graphql-api/admin/object-types#payment',
CancelPaymentError: '/reference/graphql-api/admin/object-types#cancelpaymenterror',
PaymentStateTransitionError: '/reference/graphql-api/admin/object-types#paymentstatetransitionerror',
}}

>

{`union CancelPaymentResult = Payment | CancelPaymentError | PaymentStateTransitionError`} </GraphQLDoc>

<a name="cancellation"></a>

## Cancellation

\<GraphQLDoc
type="type"
typeName="Cancellation"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
ProductVariant: '/reference/graphql-api/admin/object-types#productvariant',
StockMovementType: '/reference/graphql-api/admin/enums#stockmovementtype',
Int: '/reference/graphql-api/admin/object-types#int',
OrderLine: '/reference/graphql-api/admin/object-types#orderline',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type Cancellation {
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  productVariant: ProductVariant!
  type: StockMovementType!
  quantity: Int!
  orderLine: OrderLine!
  customFields: JSON
}`} </GraphQLDoc>

<a name="channel"></a>

## Channel

\<GraphQLDoc
type="type"
typeName="Channel"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
String: '/reference/graphql-api/admin/object-types#string',
Zone: '/reference/graphql-api/admin/object-types#zone',
LanguageCode: '/reference/graphql-api/admin/enums#languagecode',
CurrencyCode: '/reference/graphql-api/admin/enums#currencycode',
Boolean: '/reference/graphql-api/admin/object-types#boolean',
Int: '/reference/graphql-api/admin/object-types#int',
Seller: '/reference/graphql-api/admin/object-types#seller',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type Channel {
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  code: String!
  token: String!
  defaultTaxZone: Zone
  defaultShippingZone: Zone
  defaultLanguageCode: LanguageCode!
  availableLanguageCodes: [LanguageCode!]
  currencyCode: CurrencyCode!
  defaultCurrencyCode: CurrencyCode!
  availableCurrencyCodes: [CurrencyCode!]!
  """Not yet used - will be implemented in a future release."""
  trackInventory: Boolean
  """Not yet used - will be implemented in a future release."""
  outOfStockThreshold: Int
  pricesIncludeTax: Boolean!
  seller: Seller
  customFields: JSON
}`} </GraphQLDoc>

<a name="channeldefaultlanguageerror"></a>

## ChannelDefaultLanguageError

\<GraphQLDoc
type="type"
typeName="ChannelDefaultLanguageError"
typeLinks={{
ErrorCode: '/reference/graphql-api/admin/enums#errorcode',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`"""
Returned when the default LanguageCode of a Channel is no longer found in the \`availableLanguages\`
of the GlobalSettings
"""
type ChannelDefaultLanguageError {
errorCode: ErrorCode!
message: String!
language: String!
channelCode: String!
}\`} </GraphQLDoc>

<a name="channellist"></a>

## ChannelList

\<GraphQLDoc
type="type"
typeName="ChannelList"
typeLinks={{
Channel: '/reference/graphql-api/admin/object-types#channel',
Int: '/reference/graphql-api/admin/object-types#int',
}}

>

{`type ChannelList {
  items: [Channel!]!
  totalItems: Int!
}`} </GraphQLDoc>

<a name="collection"></a>

## Collection

\<GraphQLDoc
type="type"
typeName="Collection"
typeLinks={{
Boolean: '/reference/graphql-api/admin/object-types#boolean',
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
LanguageCode: '/reference/graphql-api/admin/enums#languagecode',
String: '/reference/graphql-api/admin/object-types#string',
CollectionBreadcrumb: '/reference/graphql-api/admin/object-types#collectionbreadcrumb',
Int: '/reference/graphql-api/admin/object-types#int',
Asset: '/reference/graphql-api/admin/object-types#asset',
Collection: '/reference/graphql-api/admin/object-types#collection',
ConfigurableOperation: '/reference/graphql-api/admin/object-types#configurableoperation',
CollectionTranslation: '/reference/graphql-api/admin/object-types#collectiontranslation',
ProductVariantList: '/reference/graphql-api/admin/object-types#productvariantlist',
ProductVariantListOptions: '/reference/graphql-api/admin/input-types#productvariantlistoptions',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type Collection {
  isPrivate: Boolean!
  inheritFilters: Boolean!
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  languageCode: LanguageCode
  name: String!
  slug: String!
  breadcrumbs: [CollectionBreadcrumb!]!
  position: Int!
  description: String!
  featuredAsset: Asset
  assets: [Asset!]!
  parent: Collection
  parentId: ID!
  children: [Collection!]
  filters: [ConfigurableOperation!]!
  translations: [CollectionTranslation!]!
  productVariants(options: ProductVariantListOptions): ProductVariantList!
  productVariantCount: Int!
  customFields: JSON
}`} </GraphQLDoc>

<a name="collectionbreadcrumb"></a>

## CollectionBreadcrumb

\<GraphQLDoc
type="type"
typeName="CollectionBreadcrumb"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`type CollectionBreadcrumb {
  id: ID!
  name: String!
  slug: String!
}`} </GraphQLDoc>

<a name="collectionlist"></a>

## CollectionList

\<GraphQLDoc
type="type"
typeName="CollectionList"
typeLinks={{
Collection: '/reference/graphql-api/admin/object-types#collection',
Int: '/reference/graphql-api/admin/object-types#int',
}}

>

{`type CollectionList {
  items: [Collection!]!
  totalItems: Int!
}`} </GraphQLDoc>

<a name="collectionresult"></a>

## CollectionResult

\<GraphQLDoc
type="type"
typeName="CollectionResult"
typeLinks={{
Collection: '/reference/graphql-api/admin/object-types#collection',
Int: '/reference/graphql-api/admin/object-types#int',
}}

>

{`"""
Which Collections are present in the products returned
by the search, and in what quantity.
"""
type CollectionResult {
  collection: Collection!
  count: Int!
}`} </GraphQLDoc>

<a name="collectiontranslation"></a>

## CollectionTranslation

\<GraphQLDoc
type="type"
typeName="CollectionTranslation"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
LanguageCode: '/reference/graphql-api/admin/enums#languagecode',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`type CollectionTranslation {
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  languageCode: LanguageCode!
  name: String!
  slug: String!
  description: String!
}`} </GraphQLDoc>

<a name="configarg"></a>

## ConfigArg

\<GraphQLDoc
type="type"
typeName="ConfigArg"
typeLinks={{
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`type ConfigArg {
  name: String!
  value: String!
}`} </GraphQLDoc>

<a name="configargdefinition"></a>

## ConfigArgDefinition

\<GraphQLDoc
type="type"
typeName="ConfigArgDefinition"
typeLinks={{
String: '/reference/graphql-api/admin/object-types#string',
Boolean: '/reference/graphql-api/admin/object-types#boolean',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type ConfigArgDefinition {
  name: String!
  type: String!
  list: Boolean!
  required: Boolean!
  defaultValue: JSON
  label: String
  description: String
  ui: JSON
}`} </GraphQLDoc>

<a name="configurableoperation"></a>

## ConfigurableOperation

\<GraphQLDoc
type="type"
typeName="ConfigurableOperation"
typeLinks={{
String: '/reference/graphql-api/admin/object-types#string',
ConfigArg: '/reference/graphql-api/admin/object-types#configarg',
}}

>

{`type ConfigurableOperation {
  code: String!
  args: [ConfigArg!]!
}`} </GraphQLDoc>

<a name="configurableoperationdefinition"></a>

## ConfigurableOperationDefinition

\<GraphQLDoc
type="type"
typeName="ConfigurableOperationDefinition"
typeLinks={{
String: '/reference/graphql-api/admin/object-types#string',
ConfigArgDefinition: '/reference/graphql-api/admin/object-types#configargdefinition',
}}

>

{`type ConfigurableOperationDefinition {
  code: String!
  args: [ConfigArgDefinition!]!
  description: String!
}`} </GraphQLDoc>

<a name="coordinate"></a>

## Coordinate

\<GraphQLDoc
type="type"
typeName="Coordinate"
typeLinks={{
Float: '/reference/graphql-api/admin/object-types#float',
}}

>

{`type Coordinate {
  x: Float!
  y: Float!
}`} </GraphQLDoc>

<a name="country"></a>

## Country

\<GraphQLDoc
type="type"
typeName="Country"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
LanguageCode: '/reference/graphql-api/admin/enums#languagecode',
String: '/reference/graphql-api/admin/object-types#string',
Boolean: '/reference/graphql-api/admin/object-types#boolean',
Region: '/reference/graphql-api/admin/object-types#region',
RegionTranslation: '/reference/graphql-api/admin/object-types#regiontranslation',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{\`"""
A Country of the world which your shop operates in.

The \`code\` field is typically a 2-character ISO code such as "GB", "US", "DE" etc. This code is used in certain inputs such as
\`UpdateAddressInput\` and \`CreateAddressInput\` to specify the country.
"""
type Country {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
languageCode: LanguageCode!
code: String!
type: String!
name: String!
enabled: Boolean!
parent: Region
parentId: ID
translations: \[RegionTranslation!]!
customFields: JSON
}\`} </GraphQLDoc>

<a name="countrylist"></a>

## CountryList

\<GraphQLDoc
type="type"
typeName="CountryList"
typeLinks={{
Country: '/reference/graphql-api/admin/object-types#country',
Int: '/reference/graphql-api/admin/object-types#int',
}}

>

{`type CountryList {
  items: [Country!]!
  totalItems: Int!
}`} </GraphQLDoc>

<a name="couponcodeexpirederror"></a>

## CouponCodeExpiredError

\<GraphQLDoc
type="type"
typeName="CouponCodeExpiredError"
typeLinks={{
ErrorCode: '/reference/graphql-api/admin/enums#errorcode',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`"""Returned if the provided coupon code is invalid"""
type CouponCodeExpiredError {
  errorCode: ErrorCode!
  message: String!
  couponCode: String!
}`} </GraphQLDoc>

<a name="couponcodeinvaliderror"></a>

## CouponCodeInvalidError

\<GraphQLDoc
type="type"
typeName="CouponCodeInvalidError"
typeLinks={{
ErrorCode: '/reference/graphql-api/admin/enums#errorcode',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`"""Returned if the provided coupon code is invalid"""
type CouponCodeInvalidError {
  errorCode: ErrorCode!
  message: String!
  couponCode: String!
}`} </GraphQLDoc>

<a name="couponcodelimiterror"></a>

## CouponCodeLimitError

\<GraphQLDoc
type="type"
typeName="CouponCodeLimitError"
typeLinks={{
ErrorCode: '/reference/graphql-api/admin/enums#errorcode',
String: '/reference/graphql-api/admin/object-types#string',
Int: '/reference/graphql-api/admin/object-types#int',
}}

>

{`"""Returned if the provided coupon code is invalid"""
type CouponCodeLimitError {
  errorCode: ErrorCode!
  message: String!
  couponCode: String!
  limit: Int!
}`} </GraphQLDoc>

<a name="createapikeyresult"></a>

## CreateApiKeyResult

\<GraphQLDoc
type="type"
typeName="CreateApiKeyResult"
typeLinks={{
String: '/reference/graphql-api/admin/object-types#string',
ID: '/reference/graphql-api/admin/object-types#id',
}}

>

{`type CreateApiKeyResult {
  """The generated API-Key. API-Keys cannot be viewed again after creation!"""
  apiKey: String!
  """ID of the created ApiKey-Entity"""
  entityId: ID!
}`} </GraphQLDoc>

<a name="createassetresult"></a>

## CreateAssetResult

\<GraphQLDoc
type="union"
typeName="CreateAssetResult"
typeLinks={{
Asset: '/reference/graphql-api/admin/object-types#asset',
MimeTypeError: '/reference/graphql-api/admin/object-types#mimetypeerror',
}}

>

{`union CreateAssetResult = Asset | MimeTypeError`} </GraphQLDoc>

<a name="createchannelresult"></a>

## CreateChannelResult

\<GraphQLDoc
type="union"
typeName="CreateChannelResult"
typeLinks={{
Channel: '/reference/graphql-api/admin/object-types#channel',
LanguageNotAvailableError: '/reference/graphql-api/admin/object-types#languagenotavailableerror',
}}

>

{`union CreateChannelResult = Channel | LanguageNotAvailableError`} </GraphQLDoc>

<a name="createcustomerresult"></a>

## CreateCustomerResult

\<GraphQLDoc
type="union"
typeName="CreateCustomerResult"
typeLinks={{
Customer: '/reference/graphql-api/admin/object-types#customer',
EmailAddressConflictError: '/reference/graphql-api/admin/object-types#emailaddressconflicterror',
}}

>

{`union CreateCustomerResult = Customer | EmailAddressConflictError`} </GraphQLDoc>

<a name="createfulfillmenterror"></a>

## CreateFulfillmentError

\<GraphQLDoc
type="type"
typeName="CreateFulfillmentError"
typeLinks={{
ErrorCode: '/reference/graphql-api/admin/enums#errorcode',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`"""Returned if an error is thrown in a FulfillmentHandler's createFulfillment method"""
type CreateFulfillmentError {
  errorCode: ErrorCode!
  message: String!
  fulfillmentHandlerError: String!
}`} </GraphQLDoc>

<a name="createpromotionresult"></a>

## CreatePromotionResult

\<GraphQLDoc
type="union"
typeName="CreatePromotionResult"
typeLinks={{
Promotion: '/reference/graphql-api/admin/object-types#promotion',
MissingConditionsError: '/reference/graphql-api/admin/object-types#missingconditionserror',
}}

>

{`union CreatePromotionResult = Promotion | MissingConditionsError`} </GraphQLDoc>

<a name="currentuser"></a>

## CurrentUser

\<GraphQLDoc
type="type"
typeName="CurrentUser"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
String: '/reference/graphql-api/admin/object-types#string',
CurrentUserChannel: '/reference/graphql-api/admin/object-types#currentuserchannel',
}}

>

{`type CurrentUser {
  id: ID!
  identifier: String!
  channels: [CurrentUserChannel!]!
}`} </GraphQLDoc>

<a name="currentuserchannel"></a>

## CurrentUserChannel

\<GraphQLDoc
type="type"
typeName="CurrentUserChannel"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
String: '/reference/graphql-api/admin/object-types#string',
Permission: '/reference/graphql-api/admin/enums#permission',
}}

>

{`type CurrentUserChannel {
  id: ID!
  token: String!
  code: String!
  permissions: [Permission!]!
}`} </GraphQLDoc>

<a name="customfieldconfig"></a>

## CustomFieldConfig

\<GraphQLDoc
type="union"
typeName="CustomFieldConfig"
typeLinks={{
StringCustomFieldConfig: '/reference/graphql-api/admin/object-types#stringcustomfieldconfig',
LocaleStringCustomFieldConfig: '/reference/graphql-api/admin/object-types#localestringcustomfieldconfig',
IntCustomFieldConfig: '/reference/graphql-api/admin/object-types#intcustomfieldconfig',
FloatCustomFieldConfig: '/reference/graphql-api/admin/object-types#floatcustomfieldconfig',
BooleanCustomFieldConfig: '/reference/graphql-api/admin/object-types#booleancustomfieldconfig',
DateTimeCustomFieldConfig: '/reference/graphql-api/admin/object-types#datetimecustomfieldconfig',
RelationCustomFieldConfig: '/reference/graphql-api/admin/object-types#relationcustomfieldconfig',
TextCustomFieldConfig: '/reference/graphql-api/admin/object-types#textcustomfieldconfig',
LocaleTextCustomFieldConfig: '/reference/graphql-api/admin/object-types#localetextcustomfieldconfig',
StructCustomFieldConfig: '/reference/graphql-api/admin/object-types#structcustomfieldconfig',
}}

>

{`union CustomFieldConfig = StringCustomFieldConfig | LocaleStringCustomFieldConfig | IntCustomFieldConfig | FloatCustomFieldConfig | BooleanCustomFieldConfig | DateTimeCustomFieldConfig | RelationCustomFieldConfig | TextCustomFieldConfig | LocaleTextCustomFieldConfig | StructCustomFieldConfig`} </GraphQLDoc>

<a name="customfields"></a>

## CustomFields

\<GraphQLDoc
type="type"
typeName="CustomFields"
typeLinks={{
CustomFieldConfig: '/reference/graphql-api/admin/object-types#customfieldconfig',
}}

>

{`"""
This type is deprecated in v2.2 in favor of the EntityCustomFields type,
which allows custom fields to be defined on user-supplied entities.
"""
type CustomFields {
  Address: [CustomFieldConfig!]!
  Administrator: [CustomFieldConfig!]!
  ApiKey: [CustomFieldConfig!]!
  Asset: [CustomFieldConfig!]!
  Channel: [CustomFieldConfig!]!
  Collection: [CustomFieldConfig!]!
  Customer: [CustomFieldConfig!]!
  CustomerGroup: [CustomFieldConfig!]!
  Facet: [CustomFieldConfig!]!
  FacetValue: [CustomFieldConfig!]!
  Fulfillment: [CustomFieldConfig!]!
  GlobalSettings: [CustomFieldConfig!]!
  HistoryEntry: [CustomFieldConfig!]!
  Order: [CustomFieldConfig!]!
  OrderLine: [CustomFieldConfig!]!
  Payment: [CustomFieldConfig!]!
  PaymentMethod: [CustomFieldConfig!]!
  Product: [CustomFieldConfig!]!
  ProductOption: [CustomFieldConfig!]!
  ProductOptionGroup: [CustomFieldConfig!]!
  ProductVariant: [CustomFieldConfig!]!
  ProductVariantPrice: [CustomFieldConfig!]!
  Promotion: [CustomFieldConfig!]!
  Refund: [CustomFieldConfig!]!
  Region: [CustomFieldConfig!]!
  Seller: [CustomFieldConfig!]!
  Session: [CustomFieldConfig!]!
  ShippingLine: [CustomFieldConfig!]!
  ShippingMethod: [CustomFieldConfig!]!
  StockLevel: [CustomFieldConfig!]!
  StockLocation: [CustomFieldConfig!]!
  StockMovement: [CustomFieldConfig!]!
  TaxCategory: [CustomFieldConfig!]!
  TaxRate: [CustomFieldConfig!]!
  User: [CustomFieldConfig!]!
  Zone: [CustomFieldConfig!]!
}`} </GraphQLDoc>

<a name="customer"></a>

## Customer

\<GraphQLDoc
type="type"
typeName="Customer"
typeLinks={{
CustomerGroup: '/reference/graphql-api/admin/object-types#customergroup',
HistoryEntryList: '/reference/graphql-api/admin/object-types#historyentrylist',
HistoryEntryListOptions: '/reference/graphql-api/admin/input-types#historyentrylistoptions',
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
String: '/reference/graphql-api/admin/object-types#string',
Address: '/reference/graphql-api/admin/object-types#address',
OrderList: '/reference/graphql-api/admin/object-types#orderlist',
OrderListOptions: '/reference/graphql-api/admin/input-types#orderlistoptions',
User: '/reference/graphql-api/admin/object-types#user',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type Customer {
  groups: [CustomerGroup!]!
  history(options: HistoryEntryListOptions): HistoryEntryList!
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  title: String
  firstName: String!
  lastName: String!
  phoneNumber: String
  emailAddress: String!
  addresses: [Address!]
  orders(options: OrderListOptions): OrderList!
  user: User
  customFields: JSON
}`} </GraphQLDoc>

<a name="customergroup"></a>

## CustomerGroup

\<GraphQLDoc
type="type"
typeName="CustomerGroup"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
String: '/reference/graphql-api/admin/object-types#string',
CustomerList: '/reference/graphql-api/admin/object-types#customerlist',
CustomerListOptions: '/reference/graphql-api/admin/input-types#customerlistoptions',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type CustomerGroup {
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  name: String!
  customers(options: CustomerListOptions): CustomerList!
  customFields: JSON
}`} </GraphQLDoc>

<a name="customergrouplist"></a>

## CustomerGroupList

\<GraphQLDoc
type="type"
typeName="CustomerGroupList"
typeLinks={{
CustomerGroup: '/reference/graphql-api/admin/object-types#customergroup',
Int: '/reference/graphql-api/admin/object-types#int',
}}

>

{`type CustomerGroupList {
  items: [CustomerGroup!]!
  totalItems: Int!
}`} </GraphQLDoc>

<a name="customerlist"></a>

## CustomerList

\<GraphQLDoc
type="type"
typeName="CustomerList"
typeLinks={{
Customer: '/reference/graphql-api/admin/object-types#customer',
Int: '/reference/graphql-api/admin/object-types#int',
}}

>

{`type CustomerList {
  items: [Customer!]!
  totalItems: Int!
}`} </GraphQLDoc>

<a name="datetime"></a>

## DateTime

\<GraphQLDoc
type="scalar"
typeName="DateTime"
typeLinks={{}}

>

{`scalar DateTime`} </GraphQLDoc>

<a name="datetimecustomfieldconfig"></a>

## DateTimeCustomFieldConfig

\<GraphQLDoc
type="type"
typeName="DateTimeCustomFieldConfig"
typeLinks={{
String: '/reference/graphql-api/admin/object-types#string',
Boolean: '/reference/graphql-api/admin/object-types#boolean',
LocalizedString: '/reference/graphql-api/admin/object-types#localizedstring',
Permission: '/reference/graphql-api/admin/enums#permission',
Int: '/reference/graphql-api/admin/object-types#int',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`"""
Expects the same validation formats as the \`<input type="datetime-local">\` HTML element.
See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/datetime-local#Additional\_attributes
"""
type DateTimeCustomFieldConfig {
name: String!
type: String!
list: Boolean!
label: \[LocalizedString!]
description: \[LocalizedString!]
readonly: Boolean
internal: Boolean
nullable: Boolean
requiresPermission: \[Permission!]
deprecated: Boolean
deprecationReason: String
min: String
max: String
step: Int
ui: JSON
}\`} </GraphQLDoc>

<a name="datetimestructfieldconfig"></a>

## DateTimeStructFieldConfig

\<GraphQLDoc
type="type"
typeName="DateTimeStructFieldConfig"
typeLinks={{
String: '/reference/graphql-api/admin/object-types#string',
Boolean: '/reference/graphql-api/admin/object-types#boolean',
LocalizedString: '/reference/graphql-api/admin/object-types#localizedstring',
Int: '/reference/graphql-api/admin/object-types#int',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`"""
Expects the same validation formats as the \`<input type="datetime-local">\` HTML element.
See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/datetime-local#Additional\_attributes
"""
type DateTimeStructFieldConfig {
name: String!
type: String!
list: Boolean!
label: \[LocalizedString!]
description: \[LocalizedString!]
min: String
max: String
step: Int
ui: JSON
}\`} </GraphQLDoc>

<a name="deletionresponse"></a>

## DeletionResponse

\<GraphQLDoc
type="type"
typeName="DeletionResponse"
typeLinks={{
DeletionResult: '/reference/graphql-api/admin/enums#deletionresult',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`type DeletionResponse {
  result: DeletionResult!
  message: String
}`} </GraphQLDoc>

<a name="discount"></a>

## Discount

\<GraphQLDoc
type="type"
typeName="Discount"
typeLinks={{
String: '/reference/graphql-api/admin/object-types#string',
AdjustmentType: '/reference/graphql-api/admin/enums#adjustmenttype',
Money: '/reference/graphql-api/admin/object-types#money',
}}

>

{`type Discount {
  adjustmentSource: String!
  type: AdjustmentType!
  description: String!
  amount: Money!
  amountWithTax: Money!
}`} </GraphQLDoc>

<a name="duplicateentityerror"></a>

## DuplicateEntityError

\<GraphQLDoc
type="type"
typeName="DuplicateEntityError"
typeLinks={{
ErrorCode: '/reference/graphql-api/admin/enums#errorcode',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`type DuplicateEntityError {
  errorCode: ErrorCode!
  message: String!
  duplicationError: String!
}`} </GraphQLDoc>

<a name="duplicateentityresult"></a>

## DuplicateEntityResult

\<GraphQLDoc
type="union"
typeName="DuplicateEntityResult"
typeLinks={{
DuplicateEntitySuccess: '/reference/graphql-api/admin/object-types#duplicateentitysuccess',
DuplicateEntityError: '/reference/graphql-api/admin/object-types#duplicateentityerror',
}}

>

{`union DuplicateEntityResult = DuplicateEntitySuccess | DuplicateEntityError`} </GraphQLDoc>

<a name="duplicateentitysuccess"></a>

## DuplicateEntitySuccess

\<GraphQLDoc
type="type"
typeName="DuplicateEntitySuccess"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
}}

>

{`type DuplicateEntitySuccess {
  newEntityId: ID!
}`} </GraphQLDoc>

<a name="emailaddressconflicterror"></a>

## EmailAddressConflictError

\<GraphQLDoc
type="type"
typeName="EmailAddressConflictError"
typeLinks={{
ErrorCode: '/reference/graphql-api/admin/enums#errorcode',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`"""Returned when attempting to create a Customer with an email address already registered to an existing User."""
type EmailAddressConflictError {
  errorCode: ErrorCode!
  message: String!
}`} </GraphQLDoc>

<a name="emptyorderlineselectionerror"></a>

## EmptyOrderLineSelectionError

\<GraphQLDoc
type="type"
typeName="EmptyOrderLineSelectionError"
typeLinks={{
ErrorCode: '/reference/graphql-api/admin/enums#errorcode',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`"""Returned if no OrderLines have been specified for the operation"""
type EmptyOrderLineSelectionError {
  errorCode: ErrorCode!
  message: String!
}`} </GraphQLDoc>

<a name="entitycustomfields"></a>

## EntityCustomFields

\<GraphQLDoc
type="type"
typeName="EntityCustomFields"
typeLinks={{
String: '/reference/graphql-api/admin/object-types#string',
CustomFieldConfig: '/reference/graphql-api/admin/object-types#customfieldconfig',
}}

>

{`type EntityCustomFields {
  entityName: String!
  customFields: [CustomFieldConfig!]!
}`} </GraphQLDoc>

<a name="entityduplicatordefinition"></a>

## EntityDuplicatorDefinition

\<GraphQLDoc
type="type"
typeName="EntityDuplicatorDefinition"
typeLinks={{
String: '/reference/graphql-api/admin/object-types#string',
ConfigArgDefinition: '/reference/graphql-api/admin/object-types#configargdefinition',
Permission: '/reference/graphql-api/admin/enums#permission',
}}

>

{`type EntityDuplicatorDefinition {
  code: String!
  args: [ConfigArgDefinition!]!
  description: String!
  forEntities: [String!]!
  requiresPermission: [Permission!]!
}`} </GraphQLDoc>

<a name="facet"></a>

## Facet

\<GraphQLDoc
type="type"
typeName="Facet"
typeLinks={{
Boolean: '/reference/graphql-api/admin/object-types#boolean',
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
LanguageCode: '/reference/graphql-api/admin/enums#languagecode',
String: '/reference/graphql-api/admin/object-types#string',
FacetValue: '/reference/graphql-api/admin/object-types#facetvalue',
FacetValueList: '/reference/graphql-api/admin/object-types#facetvaluelist',
FacetValueListOptions: '/reference/graphql-api/admin/input-types#facetvaluelistoptions',
FacetTranslation: '/reference/graphql-api/admin/object-types#facettranslation',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type Facet {
  isPrivate: Boolean!
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  languageCode: LanguageCode!
  name: String!
  code: String!
  values: [FacetValue!]!
  """Returns a paginated, sortable, filterable list of the Facet's values. Added in v2.1.0."""
  valueList(options: FacetValueListOptions): FacetValueList!
  translations: [FacetTranslation!]!
  customFields: JSON
}`} </GraphQLDoc>

<a name="facetinuseerror"></a>

## FacetInUseError

\<GraphQLDoc
type="type"
typeName="FacetInUseError"
typeLinks={{
ErrorCode: '/reference/graphql-api/admin/enums#errorcode',
String: '/reference/graphql-api/admin/object-types#string',
Int: '/reference/graphql-api/admin/object-types#int',
}}

>

{`type FacetInUseError {
  errorCode: ErrorCode!
  message: String!
  facetCode: String!
  productCount: Int!
  variantCount: Int!
}`} </GraphQLDoc>

<a name="facetlist"></a>

## FacetList

\<GraphQLDoc
type="type"
typeName="FacetList"
typeLinks={{
Facet: '/reference/graphql-api/admin/object-types#facet',
Int: '/reference/graphql-api/admin/object-types#int',
}}

>

{`type FacetList {
  items: [Facet!]!
  totalItems: Int!
}`} </GraphQLDoc>

<a name="facettranslation"></a>

## FacetTranslation

\<GraphQLDoc
type="type"
typeName="FacetTranslation"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
LanguageCode: '/reference/graphql-api/admin/enums#languagecode',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`type FacetTranslation {
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  languageCode: LanguageCode!
  name: String!
}`} </GraphQLDoc>

<a name="facetvalue"></a>

## FacetValue

\<GraphQLDoc
type="type"
typeName="FacetValue"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
LanguageCode: '/reference/graphql-api/admin/enums#languagecode',
Facet: '/reference/graphql-api/admin/object-types#facet',
String: '/reference/graphql-api/admin/object-types#string',
FacetValueTranslation: '/reference/graphql-api/admin/object-types#facetvaluetranslation',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type FacetValue {
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  languageCode: LanguageCode!
  facet: Facet!
  facetId: ID!
  name: String!
  code: String!
  translations: [FacetValueTranslation!]!
  customFields: JSON
}`} </GraphQLDoc>

<a name="facetvaluelist"></a>

## FacetValueList

\<GraphQLDoc
type="type"
typeName="FacetValueList"
typeLinks={{
FacetValue: '/reference/graphql-api/admin/object-types#facetvalue',
Int: '/reference/graphql-api/admin/object-types#int',
}}

>

{`type FacetValueList {
  items: [FacetValue!]!
  totalItems: Int!
}`} </GraphQLDoc>

<a name="facetvalueresult"></a>

## FacetValueResult

\<GraphQLDoc
type="type"
typeName="FacetValueResult"
typeLinks={{
FacetValue: '/reference/graphql-api/admin/object-types#facetvalue',
Int: '/reference/graphql-api/admin/object-types#int',
}}

>

{`"""
Which FacetValues are present in the products returned
by the search, and in what quantity.
"""
type FacetValueResult {
  facetValue: FacetValue!
  count: Int!
}`} </GraphQLDoc>

<a name="facetvaluetranslation"></a>

## FacetValueTranslation

\<GraphQLDoc
type="type"
typeName="FacetValueTranslation"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
LanguageCode: '/reference/graphql-api/admin/enums#languagecode',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`type FacetValueTranslation {
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  languageCode: LanguageCode!
  name: String!
}`} </GraphQLDoc>

<a name="float"></a>

## Float

\<GraphQLDoc
type="scalar"
typeName="Float"
typeLinks={{}}

>

{`"""The \`Float\` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point)."""
scalar Float\`} </GraphQLDoc>

<a name="floatcustomfieldconfig"></a>

## FloatCustomFieldConfig

\<GraphQLDoc
type="type"
typeName="FloatCustomFieldConfig"
typeLinks={{
String: '/reference/graphql-api/admin/object-types#string',
Boolean: '/reference/graphql-api/admin/object-types#boolean',
LocalizedString: '/reference/graphql-api/admin/object-types#localizedstring',
Permission: '/reference/graphql-api/admin/enums#permission',
Float: '/reference/graphql-api/admin/object-types#float',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type FloatCustomFieldConfig {
  name: String!
  type: String!
  list: Boolean!
  label: [LocalizedString!]
  description: [LocalizedString!]
  readonly: Boolean
  internal: Boolean
  nullable: Boolean
  requiresPermission: [Permission!]
  deprecated: Boolean
  deprecationReason: String
  min: Float
  max: Float
  step: Float
  ui: JSON
}`} </GraphQLDoc>

<a name="floatstructfieldconfig"></a>

## FloatStructFieldConfig

\<GraphQLDoc
type="type"
typeName="FloatStructFieldConfig"
typeLinks={{
String: '/reference/graphql-api/admin/object-types#string',
Boolean: '/reference/graphql-api/admin/object-types#boolean',
LocalizedString: '/reference/graphql-api/admin/object-types#localizedstring',
Float: '/reference/graphql-api/admin/object-types#float',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type FloatStructFieldConfig {
  name: String!
  type: String!
  list: Boolean!
  label: [LocalizedString!]
  description: [LocalizedString!]
  min: Float
  max: Float
  step: Float
  ui: JSON
}`} </GraphQLDoc>

<a name="fulfillment"></a>

## Fulfillment

\<GraphQLDoc
type="type"
typeName="Fulfillment"
typeLinks={{
String: '/reference/graphql-api/admin/object-types#string',
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
FulfillmentLine: '/reference/graphql-api/admin/object-types#fulfillmentline',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type Fulfillment {
  nextStates: [String!]!
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  lines: [FulfillmentLine!]!
  summary: [FulfillmentLine!]!
  state: String!
  method: String!
  trackingCode: String
  customFields: JSON
}`} </GraphQLDoc>

<a name="fulfillmentline"></a>

## FulfillmentLine

\<GraphQLDoc
type="type"
typeName="FulfillmentLine"
typeLinks={{
OrderLine: '/reference/graphql-api/admin/object-types#orderline',
ID: '/reference/graphql-api/admin/object-types#id',
Int: '/reference/graphql-api/admin/object-types#int',
Fulfillment: '/reference/graphql-api/admin/object-types#fulfillment',
}}

>

{`type FulfillmentLine {
  orderLine: OrderLine!
  orderLineId: ID!
  quantity: Int!
  fulfillment: Fulfillment!
  fulfillmentId: ID!
}`} </GraphQLDoc>

<a name="fulfillmentstatetransitionerror"></a>

## FulfillmentStateTransitionError

\<GraphQLDoc
type="type"
typeName="FulfillmentStateTransitionError"
typeLinks={{
ErrorCode: '/reference/graphql-api/admin/enums#errorcode',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`"""Returned when there is an error in transitioning the Fulfillment state"""
type FulfillmentStateTransitionError {
  errorCode: ErrorCode!
  message: String!
  transitionError: String!
  fromState: String!
  toState: String!
}`} </GraphQLDoc>

<a name="globalsettings"></a>

## GlobalSettings

\<GraphQLDoc
type="type"
typeName="GlobalSettings"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
LanguageCode: '/reference/graphql-api/admin/enums#languagecode',
Boolean: '/reference/graphql-api/admin/object-types#boolean',
Int: '/reference/graphql-api/admin/object-types#int',
ServerConfig: '/reference/graphql-api/admin/object-types#serverconfig',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type GlobalSettings {
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  availableLanguages: [LanguageCode!]!
  trackInventory: Boolean!
  outOfStockThreshold: Int!
  serverConfig: ServerConfig!
  customFields: JSON
}`} </GraphQLDoc>

<a name="guestcheckouterror"></a>

## GuestCheckoutError

\<GraphQLDoc
type="type"
typeName="GuestCheckoutError"
typeLinks={{
ErrorCode: '/reference/graphql-api/admin/enums#errorcode',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`"""Returned when attempting to set the Customer on a guest checkout when the configured GuestCheckoutStrategy does not allow it."""
type GuestCheckoutError {
  errorCode: ErrorCode!
  message: String!
  errorDetail: String!
}`} </GraphQLDoc>

<a name="historyentry"></a>

## HistoryEntry

\<GraphQLDoc
type="type"
typeName="HistoryEntry"
typeLinks={{
Boolean: '/reference/graphql-api/admin/object-types#boolean',
Administrator: '/reference/graphql-api/admin/object-types#administrator',
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
HistoryEntryType: '/reference/graphql-api/admin/enums#historyentrytype',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type HistoryEntry {
  isPublic: Boolean!
  administrator: Administrator
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  type: HistoryEntryType!
  data: JSON!
  customFields: JSON
}`} </GraphQLDoc>

<a name="historyentrylist"></a>

## HistoryEntryList

\<GraphQLDoc
type="type"
typeName="HistoryEntryList"
typeLinks={{
HistoryEntry: '/reference/graphql-api/admin/object-types#historyentry',
Int: '/reference/graphql-api/admin/object-types#int',
}}

>

{`type HistoryEntryList {
  items: [HistoryEntry!]!
  totalItems: Int!
}`} </GraphQLDoc>

<a name="id"></a>

## ID

\<GraphQLDoc
type="scalar"
typeName="ID"
typeLinks={{}}

>

{`"""The \`ID\` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as \`"4"\`) or integer (such as \`4\`) input value will be accepted as an ID."""
scalar ID\`} </GraphQLDoc>

<a name="importinfo"></a>

## ImportInfo

\<GraphQLDoc
type="type"
typeName="ImportInfo"
typeLinks={{
String: '/reference/graphql-api/admin/object-types#string',
Int: '/reference/graphql-api/admin/object-types#int',
}}

>

{`type ImportInfo {
  errors: [String!]
  processed: Int!
  imported: Int!
}`} </GraphQLDoc>

<a name="ineligibleshippingmethoderror"></a>

## IneligibleShippingMethodError

\<GraphQLDoc
type="type"
typeName="IneligibleShippingMethodError"
typeLinks={{
ErrorCode: '/reference/graphql-api/admin/enums#errorcode',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`"""Returned when attempting to set a ShippingMethod for which the Order is not eligible"""
type IneligibleShippingMethodError {
  errorCode: ErrorCode!
  message: String!
}`} </GraphQLDoc>

<a name="insufficientstockerror"></a>

## InsufficientStockError

\<GraphQLDoc
type="type"
typeName="InsufficientStockError"
typeLinks={{
ErrorCode: '/reference/graphql-api/admin/enums#errorcode',
String: '/reference/graphql-api/admin/object-types#string',
Int: '/reference/graphql-api/admin/object-types#int',
Order: '/reference/graphql-api/admin/object-types#order',
}}

>

{`"""Returned when attempting to add more items to the Order than are available"""
type InsufficientStockError {
  errorCode: ErrorCode!
  message: String!
  quantityAvailable: Int!
  order: Order!
}`} </GraphQLDoc>

<a name="insufficientstockonhanderror"></a>

## InsufficientStockOnHandError

\<GraphQLDoc
type="type"
typeName="InsufficientStockOnHandError"
typeLinks={{
ErrorCode: '/reference/graphql-api/admin/enums#errorcode',
String: '/reference/graphql-api/admin/object-types#string',
ID: '/reference/graphql-api/admin/object-types#id',
Int: '/reference/graphql-api/admin/object-types#int',
}}

>

{`"""
Returned if attempting to create a Fulfillment when there is insufficient
stockOnHand of a ProductVariant to satisfy the requested quantity.
"""
type InsufficientStockOnHandError {
  errorCode: ErrorCode!
  message: String!
  productVariantId: ID!
  productVariantName: String!
  stockOnHand: Int!
}`} </GraphQLDoc>

<a name="int"></a>

## Int

\<GraphQLDoc
type="scalar"
typeName="Int"
typeLinks={{}}

>

{`"""The \`Int\` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1."""
scalar Int\`} </GraphQLDoc>

<a name="intcustomfieldconfig"></a>

## IntCustomFieldConfig

\<GraphQLDoc
type="type"
typeName="IntCustomFieldConfig"
typeLinks={{
String: '/reference/graphql-api/admin/object-types#string',
Boolean: '/reference/graphql-api/admin/object-types#boolean',
LocalizedString: '/reference/graphql-api/admin/object-types#localizedstring',
Permission: '/reference/graphql-api/admin/enums#permission',
Int: '/reference/graphql-api/admin/object-types#int',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type IntCustomFieldConfig {
  name: String!
  type: String!
  list: Boolean!
  label: [LocalizedString!]
  description: [LocalizedString!]
  readonly: Boolean
  internal: Boolean
  nullable: Boolean
  requiresPermission: [Permission!]
  deprecated: Boolean
  deprecationReason: String
  min: Int
  max: Int
  step: Int
  ui: JSON
}`} </GraphQLDoc>

<a name="intstructfieldconfig"></a>

## IntStructFieldConfig

\<GraphQLDoc
type="type"
typeName="IntStructFieldConfig"
typeLinks={{
String: '/reference/graphql-api/admin/object-types#string',
Boolean: '/reference/graphql-api/admin/object-types#boolean',
LocalizedString: '/reference/graphql-api/admin/object-types#localizedstring',
Int: '/reference/graphql-api/admin/object-types#int',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type IntStructFieldConfig {
  name: String!
  type: String!
  list: Boolean!
  label: [LocalizedString!]
  description: [LocalizedString!]
  min: Int
  max: Int
  step: Int
  ui: JSON
}`} </GraphQLDoc>

<a name="invalidcredentialserror"></a>

## InvalidCredentialsError

\<GraphQLDoc
type="type"
typeName="InvalidCredentialsError"
typeLinks={{
ErrorCode: '/reference/graphql-api/admin/enums#errorcode',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`"""Returned if the user authentication credentials are not valid"""
type InvalidCredentialsError {
  errorCode: ErrorCode!
  message: String!
  authenticationError: String!
}`} </GraphQLDoc>

<a name="invalidfulfillmenthandlererror"></a>

## InvalidFulfillmentHandlerError

\<GraphQLDoc
type="type"
typeName="InvalidFulfillmentHandlerError"
typeLinks={{
ErrorCode: '/reference/graphql-api/admin/enums#errorcode',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`"""Returned if the specified FulfillmentHandler code is not valid"""
type InvalidFulfillmentHandlerError {
  errorCode: ErrorCode!
  message: String!
}`} </GraphQLDoc>

<a name="itemsalreadyfulfillederror"></a>

## ItemsAlreadyFulfilledError

\<GraphQLDoc
type="type"
typeName="ItemsAlreadyFulfilledError"
typeLinks={{
ErrorCode: '/reference/graphql-api/admin/enums#errorcode',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`"""Returned if the specified items are already part of a Fulfillment"""
type ItemsAlreadyFulfilledError {
  errorCode: ErrorCode!
  message: String!
}`} </GraphQLDoc>

<a name="json"></a>

## JSON

\<GraphQLDoc
type="scalar"
typeName="JSON"
typeLinks={{}}

>

{`scalar JSON`} </GraphQLDoc>

<a name="job"></a>

## Job

\<GraphQLDoc
type="type"
typeName="Job"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
String: '/reference/graphql-api/admin/object-types#string',
JobState: '/reference/graphql-api/admin/enums#jobstate',
Float: '/reference/graphql-api/admin/object-types#float',
JSON: '/reference/graphql-api/admin/object-types#json',
Boolean: '/reference/graphql-api/admin/object-types#boolean',
Int: '/reference/graphql-api/admin/object-types#int',
}}

>

{`type Job {
  id: ID!
  createdAt: DateTime!
  startedAt: DateTime
  settledAt: DateTime
  queueName: String!
  state: JobState!
  progress: Float!
  data: JSON
  result: JSON
  error: JSON
  isSettled: Boolean!
  duration: Int!
  retries: Int!
  attempts: Int!
}`} </GraphQLDoc>

<a name="jobbuffersize"></a>

## JobBufferSize

\<GraphQLDoc
type="type"
typeName="JobBufferSize"
typeLinks={{
String: '/reference/graphql-api/admin/object-types#string',
Int: '/reference/graphql-api/admin/object-types#int',
}}

>

{`type JobBufferSize {
  bufferId: String!
  size: Int!
}`} </GraphQLDoc>

<a name="joblist"></a>

## JobList

\<GraphQLDoc
type="type"
typeName="JobList"
typeLinks={{
Job: '/reference/graphql-api/admin/object-types#job',
Int: '/reference/graphql-api/admin/object-types#int',
}}

>

{`type JobList {
  items: [Job!]!
  totalItems: Int!
}`} </GraphQLDoc>

<a name="jobqueue"></a>

## JobQueue

\<GraphQLDoc
type="type"
typeName="JobQueue"
typeLinks={{
String: '/reference/graphql-api/admin/object-types#string',
Boolean: '/reference/graphql-api/admin/object-types#boolean',
}}

>

{`type JobQueue {
  name: String!
  running: Boolean!
}`} </GraphQLDoc>

<a name="languagenotavailableerror"></a>

## LanguageNotAvailableError

\<GraphQLDoc
type="type"
typeName="LanguageNotAvailableError"
typeLinks={{
ErrorCode: '/reference/graphql-api/admin/enums#errorcode',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`"""Returned if attempting to set a Channel's defaultLanguageCode to a language which is not enabled in GlobalSettings"""
type LanguageNotAvailableError {
  errorCode: ErrorCode!
  message: String!
  languageCode: String!
}`} </GraphQLDoc>

<a name="localestringcustomfieldconfig"></a>

## LocaleStringCustomFieldConfig

\<GraphQLDoc
type="type"
typeName="LocaleStringCustomFieldConfig"
typeLinks={{
String: '/reference/graphql-api/admin/object-types#string',
Boolean: '/reference/graphql-api/admin/object-types#boolean',
Int: '/reference/graphql-api/admin/object-types#int',
LocalizedString: '/reference/graphql-api/admin/object-types#localizedstring',
Permission: '/reference/graphql-api/admin/enums#permission',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type LocaleStringCustomFieldConfig {
  name: String!
  type: String!
  list: Boolean!
  length: Int
  label: [LocalizedString!]
  description: [LocalizedString!]
  readonly: Boolean
  internal: Boolean
  nullable: Boolean
  requiresPermission: [Permission!]
  deprecated: Boolean
  deprecationReason: String
  pattern: String
  ui: JSON
}`} </GraphQLDoc>

<a name="localetextcustomfieldconfig"></a>

## LocaleTextCustomFieldConfig

\<GraphQLDoc
type="type"
typeName="LocaleTextCustomFieldConfig"
typeLinks={{
String: '/reference/graphql-api/admin/object-types#string',
Boolean: '/reference/graphql-api/admin/object-types#boolean',
LocalizedString: '/reference/graphql-api/admin/object-types#localizedstring',
Permission: '/reference/graphql-api/admin/enums#permission',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type LocaleTextCustomFieldConfig {
  name: String!
  type: String!
  list: Boolean!
  label: [LocalizedString!]
  description: [LocalizedString!]
  readonly: Boolean
  internal: Boolean
  nullable: Boolean
  requiresPermission: [Permission!]
  deprecated: Boolean
  deprecationReason: String
  ui: JSON
}`} </GraphQLDoc>

<a name="localizedstring"></a>

## LocalizedString

\<GraphQLDoc
type="type"
typeName="LocalizedString"
typeLinks={{
LanguageCode: '/reference/graphql-api/admin/enums#languagecode',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`type LocalizedString {
  languageCode: LanguageCode!
  value: String!
}`} </GraphQLDoc>

<a name="manualpaymentstateerror"></a>

## ManualPaymentStateError

\<GraphQLDoc
type="type"
typeName="ManualPaymentStateError"
typeLinks={{
ErrorCode: '/reference/graphql-api/admin/enums#errorcode',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`"""
Returned when a call to addManualPaymentToOrder is made but the Order
is not in the required state.
"""
type ManualPaymentStateError {
  errorCode: ErrorCode!
  message: String!
}`} </GraphQLDoc>

<a name="metricsummary"></a>

## MetricSummary

\<GraphQLDoc
type="type"
typeName="MetricSummary"
typeLinks={{
MetricInterval: '/reference/graphql-api/admin/enums#metricinterval',
MetricType: '/reference/graphql-api/admin/enums#metrictype',
String: '/reference/graphql-api/admin/object-types#string',
MetricSummaryEntry: '/reference/graphql-api/admin/object-types#metricsummaryentry',
}}

>

{`type MetricSummary {
  interval: MetricInterval!
  type: MetricType!
  title: String!
  entries: [MetricSummaryEntry!]!
}`} </GraphQLDoc>

<a name="metricsummaryentry"></a>

## MetricSummaryEntry

\<GraphQLDoc
type="type"
typeName="MetricSummaryEntry"
typeLinks={{
String: '/reference/graphql-api/admin/object-types#string',
Float: '/reference/graphql-api/admin/object-types#float',
}}

>

{`type MetricSummaryEntry {
  label: String!
  value: Float!
}`} </GraphQLDoc>

<a name="mimetypeerror"></a>

## MimeTypeError

\<GraphQLDoc
type="type"
typeName="MimeTypeError"
typeLinks={{
ErrorCode: '/reference/graphql-api/admin/enums#errorcode',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`type MimeTypeError {
  errorCode: ErrorCode!
  message: String!
  fileName: String!
  mimeType: String!
}`} </GraphQLDoc>

<a name="missingconditionserror"></a>

## MissingConditionsError

\<GraphQLDoc
type="type"
typeName="MissingConditionsError"
typeLinks={{
ErrorCode: '/reference/graphql-api/admin/enums#errorcode',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`"""Returned if a PromotionCondition has neither a couponCode nor any conditions set"""
type MissingConditionsError {
  errorCode: ErrorCode!
  message: String!
}`} </GraphQLDoc>

<a name="modifyorderresult"></a>

## ModifyOrderResult

\<GraphQLDoc
type="union"
typeName="ModifyOrderResult"
typeLinks={{
Order: '/reference/graphql-api/admin/object-types#order',
NoChangesSpecifiedError: '/reference/graphql-api/admin/object-types#nochangesspecifiederror',
OrderModificationStateError: '/reference/graphql-api/admin/object-types#ordermodificationstateerror',
PaymentMethodMissingError: '/reference/graphql-api/admin/object-types#paymentmethodmissingerror',
RefundPaymentIdMissingError: '/reference/graphql-api/admin/object-types#refundpaymentidmissingerror',
OrderLimitError: '/reference/graphql-api/admin/object-types#orderlimiterror',
NegativeQuantityError: '/reference/graphql-api/admin/object-types#negativequantityerror',
InsufficientStockError: '/reference/graphql-api/admin/object-types#insufficientstockerror',
CouponCodeExpiredError: '/reference/graphql-api/admin/object-types#couponcodeexpirederror',
CouponCodeInvalidError: '/reference/graphql-api/admin/object-types#couponcodeinvaliderror',
CouponCodeLimitError: '/reference/graphql-api/admin/object-types#couponcodelimiterror',
IneligibleShippingMethodError: '/reference/graphql-api/admin/object-types#ineligibleshippingmethoderror',
}}

>

{`union ModifyOrderResult = Order | NoChangesSpecifiedError | OrderModificationStateError | PaymentMethodMissingError | RefundPaymentIdMissingError | OrderLimitError | NegativeQuantityError | InsufficientStockError | CouponCodeExpiredError | CouponCodeInvalidError | CouponCodeLimitError | IneligibleShippingMethodError`} </GraphQLDoc>

<a name="money"></a>

## Money

\<GraphQLDoc
type="scalar"
typeName="Money"
typeLinks={{}}

>

{`scalar Money`} </GraphQLDoc>

<a name="multipleordererror"></a>

## MultipleOrderError

\<GraphQLDoc
type="type"
typeName="MultipleOrderError"
typeLinks={{
ErrorCode: '/reference/graphql-api/admin/enums#errorcode',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`"""Returned if an operation has specified OrderLines from multiple Orders"""
type MultipleOrderError {
  errorCode: ErrorCode!
  message: String!
}`} </GraphQLDoc>

<a name="nativeauthstrategyerror"></a>

## NativeAuthStrategyError

\<GraphQLDoc
type="type"
typeName="NativeAuthStrategyError"
typeLinks={{
ErrorCode: '/reference/graphql-api/admin/enums#errorcode',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`"""Returned when attempting an operation that relies on the NativeAuthStrategy, if that strategy is not configured."""
type NativeAuthStrategyError {
  errorCode: ErrorCode!
  message: String!
}`} </GraphQLDoc>

<a name="nativeauthenticationresult"></a>

## NativeAuthenticationResult

\<GraphQLDoc
type="union"
typeName="NativeAuthenticationResult"
typeLinks={{
CurrentUser: '/reference/graphql-api/admin/object-types#currentuser',
InvalidCredentialsError: '/reference/graphql-api/admin/object-types#invalidcredentialserror',
NativeAuthStrategyError: '/reference/graphql-api/admin/object-types#nativeauthstrategyerror',
}}

>

{`union NativeAuthenticationResult = CurrentUser | InvalidCredentialsError | NativeAuthStrategyError`} </GraphQLDoc>

<a name="negativequantityerror"></a>

## NegativeQuantityError

\<GraphQLDoc
type="type"
typeName="NegativeQuantityError"
typeLinks={{
ErrorCode: '/reference/graphql-api/admin/enums#errorcode',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`"""Returned when attempting to set a negative OrderLine quantity."""
type NegativeQuantityError {
  errorCode: ErrorCode!
  message: String!
}`} </GraphQLDoc>

<a name="noactiveordererror"></a>

## NoActiveOrderError

\<GraphQLDoc
type="type"
typeName="NoActiveOrderError"
typeLinks={{
ErrorCode: '/reference/graphql-api/admin/enums#errorcode',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`"""
Returned when invoking a mutation which depends on there being an active Order on the
current session.
"""
type NoActiveOrderError {
  errorCode: ErrorCode!
  message: String!
}`} </GraphQLDoc>

<a name="nochangesspecifiederror"></a>

## NoChangesSpecifiedError

\<GraphQLDoc
type="type"
typeName="NoChangesSpecifiedError"
typeLinks={{
ErrorCode: '/reference/graphql-api/admin/enums#errorcode',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`"""Returned when a call to modifyOrder fails to specify any changes"""
type NoChangesSpecifiedError {
  errorCode: ErrorCode!
  message: String!
}`} </GraphQLDoc>

<a name="nothingtorefunderror"></a>

## NothingToRefundError

\<GraphQLDoc
type="type"
typeName="NothingToRefundError"
typeLinks={{
ErrorCode: '/reference/graphql-api/admin/enums#errorcode',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`"""Returned if an attempting to refund an Order but neither items nor shipping refund was specified"""
type NothingToRefundError {
  errorCode: ErrorCode!
  message: String!
}`} </GraphQLDoc>

<a name="order"></a>

## Order

\<GraphQLDoc
type="type"
typeName="Order"
typeLinks={{
String: '/reference/graphql-api/admin/object-types#string',
OrderModification: '/reference/graphql-api/admin/object-types#ordermodification',
Order: '/reference/graphql-api/admin/object-types#order',
ID: '/reference/graphql-api/admin/object-types#id',
Channel: '/reference/graphql-api/admin/object-types#channel',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
OrderType: '/reference/graphql-api/admin/enums#ordertype',
Boolean: '/reference/graphql-api/admin/object-types#boolean',
Customer: '/reference/graphql-api/admin/object-types#customer',
OrderAddress: '/reference/graphql-api/admin/object-types#orderaddress',
OrderLine: '/reference/graphql-api/admin/object-types#orderline',
Surcharge: '/reference/graphql-api/admin/object-types#surcharge',
Discount: '/reference/graphql-api/admin/object-types#discount',
Promotion: '/reference/graphql-api/admin/object-types#promotion',
Payment: '/reference/graphql-api/admin/object-types#payment',
Fulfillment: '/reference/graphql-api/admin/object-types#fulfillment',
Int: '/reference/graphql-api/admin/object-types#int',
Money: '/reference/graphql-api/admin/object-types#money',
CurrencyCode: '/reference/graphql-api/admin/enums#currencycode',
ShippingLine: '/reference/graphql-api/admin/object-types#shippingline',
OrderTaxSummary: '/reference/graphql-api/admin/object-types#ordertaxsummary',
HistoryEntryList: '/reference/graphql-api/admin/object-types#historyentrylist',
HistoryEntryListOptions: '/reference/graphql-api/admin/input-types#historyentrylistoptions',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type Order {
  nextStates: [String!]!
  modifications: [OrderModification!]!
  sellerOrders: [Order!]
  aggregateOrder: Order
  aggregateOrderId: ID
  channels: [Channel!]!
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  type: OrderType!
  """
  The date & time that the Order was placed, i.e. the Customer
  completed the checkout and the Order is no longer "active"
  """
  orderPlacedAt: DateTime
  """A unique code for the Order"""
  code: String!
  state: String!
  """An order is active as long as the payment process has not been completed"""
  active: Boolean!
  customer: Customer
  shippingAddress: OrderAddress
  billingAddress: OrderAddress
  lines: [OrderLine!]!
  """
  Surcharges are arbitrary modifications to the Order total which are neither
  ProductVariants nor discounts resulting from applied Promotions. For example,
  one-off discounts based on customer interaction, or surcharges based on payment
  methods.
  """
  surcharges: [Surcharge!]!
  discounts: [Discount!]!
  """An array of all coupon codes applied to the Order"""
  couponCodes: [String!]!
  """Promotions applied to the order. Only gets populated after the payment process has completed."""
  promotions: [Promotion!]!
  payments: [Payment!]
  fulfillments: [Fulfillment!]
  totalQuantity: Int!
  """
  The subTotal is the total of all OrderLines in the Order. This figure also includes any Order-level
  discounts which have been prorated (proportionally distributed) amongst the items of each OrderLine.
  To get a total of all OrderLines which does not account for prorated discounts, use the
  sum of \`OrderLine.discountedLinePrice\` values.
"""
subTotal: Money!
"""Same as subTotal, but inclusive of tax"""
subTotalWithTax: Money!
currencyCode: CurrencyCode!
shippingLines: \[ShippingLine!]!
shipping: Money!
shippingWithTax: Money!
"""Equal to subTotal plus shipping"""
total: Money!
"""The final payable amount. Equal to subTotalWithTax plus shippingWithTax"""
totalWithTax: Money!
"""A summary of the taxes being applied to this Order"""
taxSummary: \[OrderTaxSummary!]!
history(options: HistoryEntryListOptions): HistoryEntryList!
customFields: JSON
}\`} </GraphQLDoc>

<a name="orderaddress"></a>

## OrderAddress

\<GraphQLDoc
type="type"
typeName="OrderAddress"
typeLinks={{
String: '/reference/graphql-api/admin/object-types#string',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type OrderAddress {
  fullName: String
  company: String
  streetLine1: String
  streetLine2: String
  city: String
  province: String
  postalCode: String
  country: String
  countryCode: String
  phoneNumber: String
  customFields: JSON
}`} </GraphQLDoc>

<a name="orderinterceptorerror"></a>

## OrderInterceptorError

\<GraphQLDoc
type="type"
typeName="OrderInterceptorError"
typeLinks={{
ErrorCode: '/reference/graphql-api/admin/enums#errorcode',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`"""Returned when an order operation is rejected by an OrderInterceptor method."""
type OrderInterceptorError {
  errorCode: ErrorCode!
  message: String!
  interceptorError: String!
}`} </GraphQLDoc>

<a name="orderlimiterror"></a>

## OrderLimitError

\<GraphQLDoc
type="type"
typeName="OrderLimitError"
typeLinks={{
ErrorCode: '/reference/graphql-api/admin/enums#errorcode',
String: '/reference/graphql-api/admin/object-types#string',
Int: '/reference/graphql-api/admin/object-types#int',
}}

>

{`"""Returned when the maximum order size limit has been reached."""
type OrderLimitError {
  errorCode: ErrorCode!
  message: String!
  maxItems: Int!
}`} </GraphQLDoc>

<a name="orderline"></a>

## OrderLine

\<GraphQLDoc
type="type"
typeName="OrderLine"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
ProductVariant: '/reference/graphql-api/admin/object-types#productvariant',
Asset: '/reference/graphql-api/admin/object-types#asset',
Money: '/reference/graphql-api/admin/object-types#money',
Int: '/reference/graphql-api/admin/object-types#int',
Float: '/reference/graphql-api/admin/object-types#float',
Discount: '/reference/graphql-api/admin/object-types#discount',
TaxLine: '/reference/graphql-api/admin/object-types#taxline',
Order: '/reference/graphql-api/admin/object-types#order',
FulfillmentLine: '/reference/graphql-api/admin/object-types#fulfillmentline',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{\`type OrderLine {
id: ID!
createdAt: DateTime!
updatedAt: DateTime!
productVariant: ProductVariant!
featuredAsset: Asset
"""The price of a single unit, excluding tax and discounts"""
unitPrice: Money!
"""The price of a single unit, including tax but excluding discounts"""
unitPriceWithTax: Money!
"""Non-zero if the unitPrice has changed since it was initially added to Order"""
unitPriceChangeSinceAdded: Money!
"""Non-zero if the unitPriceWithTax has changed since it was initially added to Order"""
unitPriceWithTaxChangeSinceAdded: Money!
"""
The price of a single unit including discounts, excluding tax.

If Order-level discounts have been applied, this will not be the
actual taxable unit price (see \`proratedUnitPrice\`), but is generally the
correct price to display to customers to avoid confusion
about the internal handling of distributed Order-level discounts.
"""
discountedUnitPrice: Money!
"""The price of a single unit including discounts and tax"""
discountedUnitPriceWithTax: Money!
"""
The actual unit price, taking into account both item discounts *and* prorated (proportionally-distributed)
Order-level discounts. This value is the true economic value of the OrderItem, and is used in tax
and refund calculations.
"""
proratedUnitPrice: Money!
"""The proratedUnitPrice including tax"""
proratedUnitPriceWithTax: Money!
"""The quantity of items purchased"""
quantity: Int!
"""The quantity at the time the Order was placed"""
orderPlacedQuantity: Int!
taxRate: Float!
"""The total price of the line excluding tax and discounts."""
linePrice: Money!
"""The total price of the line including tax but excluding discounts."""
linePriceWithTax: Money!
"""The price of the line including discounts, excluding tax"""
discountedLinePrice: Money!
"""The price of the line including discounts and tax"""
discountedLinePriceWithTax: Money!
"""
The actual line price, taking into account both item discounts *and* prorated (proportionally-distributed)
Order-level discounts. This value is the true economic value of the OrderLine, and is used in tax
and refund calculations.
"""
proratedLinePrice: Money!
"""The proratedLinePrice including tax"""
proratedLinePriceWithTax: Money!
"""The total tax on this line"""
lineTax: Money!
discounts: \[Discount!]!
taxLines: \[TaxLine!]!
order: Order!
fulfillmentLines: \[FulfillmentLine!]
customFields: JSON
}\`} </GraphQLDoc>

<a name="orderlist"></a>

## OrderList

\<GraphQLDoc
type="type"
typeName="OrderList"
typeLinks={{
Order: '/reference/graphql-api/admin/object-types#order',
Int: '/reference/graphql-api/admin/object-types#int',
}}

>

{`type OrderList {
  items: [Order!]!
  totalItems: Int!
}`} </GraphQLDoc>

<a name="ordermodification"></a>

## OrderModification

\<GraphQLDoc
type="type"
typeName="OrderModification"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
Money: '/reference/graphql-api/admin/object-types#money',
String: '/reference/graphql-api/admin/object-types#string',
OrderModificationLine: '/reference/graphql-api/admin/object-types#ordermodificationline',
Surcharge: '/reference/graphql-api/admin/object-types#surcharge',
Payment: '/reference/graphql-api/admin/object-types#payment',
Refund: '/reference/graphql-api/admin/object-types#refund',
Boolean: '/reference/graphql-api/admin/object-types#boolean',
}}

>

{`type OrderModification {
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  priceChange: Money!
  note: String!
  lines: [OrderModificationLine!]!
  surcharges: [Surcharge!]
  payment: Payment
  refund: Refund
  isSettled: Boolean!
}`} </GraphQLDoc>

<a name="ordermodificationerror"></a>

## OrderModificationError

\<GraphQLDoc
type="type"
typeName="OrderModificationError"
typeLinks={{
ErrorCode: '/reference/graphql-api/admin/enums#errorcode',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`"""Returned when attempting to modify the contents of an Order that is not in the \`AddingItems\` state."""
type OrderModificationError {
errorCode: ErrorCode!
message: String!
}\`} </GraphQLDoc>

<a name="ordermodificationline"></a>

## OrderModificationLine

\<GraphQLDoc
type="type"
typeName="OrderModificationLine"
typeLinks={{
OrderLine: '/reference/graphql-api/admin/object-types#orderline',
ID: '/reference/graphql-api/admin/object-types#id',
Int: '/reference/graphql-api/admin/object-types#int',
OrderModification: '/reference/graphql-api/admin/object-types#ordermodification',
}}

>

{`type OrderModificationLine {
  orderLine: OrderLine!
  orderLineId: ID!
  quantity: Int!
  modification: OrderModification!
  modificationId: ID!
}`} </GraphQLDoc>

<a name="ordermodificationstateerror"></a>

## OrderModificationStateError

\<GraphQLDoc
type="type"
typeName="OrderModificationStateError"
typeLinks={{
ErrorCode: '/reference/graphql-api/admin/enums#errorcode',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`"""Returned when attempting to modify the contents of an Order that is not in the \`Modifying\` state."""
type OrderModificationStateError {
errorCode: ErrorCode!
message: String!
}\`} </GraphQLDoc>

<a name="orderprocessstate"></a>

## OrderProcessState

\<GraphQLDoc
type="type"
typeName="OrderProcessState"
typeLinks={{
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`type OrderProcessState {
  name: String!
  to: [String!]!
}`} </GraphQLDoc>

<a name="orderstatetransitionerror"></a>

## OrderStateTransitionError

\<GraphQLDoc
type="type"
typeName="OrderStateTransitionError"
typeLinks={{
ErrorCode: '/reference/graphql-api/admin/enums#errorcode',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`"""Returned if there is an error in transitioning the Order state"""
type OrderStateTransitionError {
  errorCode: ErrorCode!
  message: String!
  transitionError: String!
  fromState: String!
  toState: String!
}`} </GraphQLDoc>

<a name="ordertaxsummary"></a>

## OrderTaxSummary

\<GraphQLDoc
type="type"
typeName="OrderTaxSummary"
typeLinks={{
String: '/reference/graphql-api/admin/object-types#string',
Float: '/reference/graphql-api/admin/object-types#float',
Money: '/reference/graphql-api/admin/object-types#money',
}}

>

{`"""
A summary of the taxes being applied to this order, grouped
by taxRate.
"""
type OrderTaxSummary {
  """A description of this tax"""
  description: String!
  """The taxRate as a percentage"""
  taxRate: Float!
  """The total net price of OrderLines to which this taxRate applies"""
  taxBase: Money!
  """The total tax being applied to the Order at this taxRate"""
  taxTotal: Money!
}`} </GraphQLDoc>

<a name="payment"></a>

## Payment

\<GraphQLDoc
type="type"
typeName="Payment"
typeLinks={{
String: '/reference/graphql-api/admin/object-types#string',
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
Money: '/reference/graphql-api/admin/object-types#money',
Refund: '/reference/graphql-api/admin/object-types#refund',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type Payment {
  nextStates: [String!]!
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  method: String!
  amount: Money!
  state: String!
  transactionId: String
  errorMessage: String
  refunds: [Refund!]!
  metadata: JSON
  customFields: JSON
}`} </GraphQLDoc>

<a name="paymentmethod"></a>

## PaymentMethod

\<GraphQLDoc
type="type"
typeName="PaymentMethod"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
String: '/reference/graphql-api/admin/object-types#string',
Boolean: '/reference/graphql-api/admin/object-types#boolean',
ConfigurableOperation: '/reference/graphql-api/admin/object-types#configurableoperation',
PaymentMethodTranslation: '/reference/graphql-api/admin/object-types#paymentmethodtranslation',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type PaymentMethod {
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  name: String!
  code: String!
  description: String!
  enabled: Boolean!
  checker: ConfigurableOperation
  handler: ConfigurableOperation!
  translations: [PaymentMethodTranslation!]!
  customFields: JSON
}`} </GraphQLDoc>

<a name="paymentmethodlist"></a>

## PaymentMethodList

\<GraphQLDoc
type="type"
typeName="PaymentMethodList"
typeLinks={{
PaymentMethod: '/reference/graphql-api/admin/object-types#paymentmethod',
Int: '/reference/graphql-api/admin/object-types#int',
}}

>

{`type PaymentMethodList {
  items: [PaymentMethod!]!
  totalItems: Int!
}`} </GraphQLDoc>

<a name="paymentmethodmissingerror"></a>

## PaymentMethodMissingError

\<GraphQLDoc
type="type"
typeName="PaymentMethodMissingError"
typeLinks={{
ErrorCode: '/reference/graphql-api/admin/enums#errorcode',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`"""
Returned when a call to modifyOrder fails to include a paymentMethod even
though the price has increased as a result of the changes.
"""
type PaymentMethodMissingError {
  errorCode: ErrorCode!
  message: String!
}`} </GraphQLDoc>

<a name="paymentmethodquote"></a>

## PaymentMethodQuote

\<GraphQLDoc
type="type"
typeName="PaymentMethodQuote"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
String: '/reference/graphql-api/admin/object-types#string',
Boolean: '/reference/graphql-api/admin/object-types#boolean',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type PaymentMethodQuote {
  id: ID!
  code: String!
  name: String!
  description: String!
  isEligible: Boolean!
  eligibilityMessage: String
  customFields: JSON
}`} </GraphQLDoc>

<a name="paymentmethodtranslation"></a>

## PaymentMethodTranslation

\<GraphQLDoc
type="type"
typeName="PaymentMethodTranslation"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
LanguageCode: '/reference/graphql-api/admin/enums#languagecode',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`type PaymentMethodTranslation {
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  languageCode: LanguageCode!
  name: String!
  description: String!
}`} </GraphQLDoc>

<a name="paymentordermismatcherror"></a>

## PaymentOrderMismatchError

\<GraphQLDoc
type="type"
typeName="PaymentOrderMismatchError"
typeLinks={{
ErrorCode: '/reference/graphql-api/admin/enums#errorcode',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`"""Returned if an attempting to refund a Payment against OrderLines from a different Order"""
type PaymentOrderMismatchError {
  errorCode: ErrorCode!
  message: String!
}`} </GraphQLDoc>

<a name="paymentstatetransitionerror"></a>

## PaymentStateTransitionError

\<GraphQLDoc
type="type"
typeName="PaymentStateTransitionError"
typeLinks={{
ErrorCode: '/reference/graphql-api/admin/enums#errorcode',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`"""Returned when there is an error in transitioning the Payment state"""
type PaymentStateTransitionError {
  errorCode: ErrorCode!
  message: String!
  transitionError: String!
  fromState: String!
  toState: String!
}`} </GraphQLDoc>

<a name="permissiondefinition"></a>

## PermissionDefinition

\<GraphQLDoc
type="type"
typeName="PermissionDefinition"
typeLinks={{
String: '/reference/graphql-api/admin/object-types#string',
Boolean: '/reference/graphql-api/admin/object-types#boolean',
}}

>

{`type PermissionDefinition {
  name: String!
  description: String!
  assignable: Boolean!
}`} </GraphQLDoc>

<a name="pricerange"></a>

## PriceRange

\<GraphQLDoc
type="type"
typeName="PriceRange"
typeLinks={{
Money: '/reference/graphql-api/admin/object-types#money',
}}

>

{`"""The price range where the result has more than one price"""
type PriceRange {
  min: Money!
  max: Money!
}`} </GraphQLDoc>

<a name="product"></a>

## Product

\<GraphQLDoc
type="type"
typeName="Product"
typeLinks={{
Channel: '/reference/graphql-api/admin/object-types#channel',
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
LanguageCode: '/reference/graphql-api/admin/enums#languagecode',
String: '/reference/graphql-api/admin/object-types#string',
Boolean: '/reference/graphql-api/admin/object-types#boolean',
Asset: '/reference/graphql-api/admin/object-types#asset',
ProductVariant: '/reference/graphql-api/admin/object-types#productvariant',
ProductVariantList: '/reference/graphql-api/admin/object-types#productvariantlist',
ProductVariantListOptions: '/reference/graphql-api/admin/input-types#productvariantlistoptions',
ProductOptionGroup: '/reference/graphql-api/admin/object-types#productoptiongroup',
FacetValue: '/reference/graphql-api/admin/object-types#facetvalue',
ProductTranslation: '/reference/graphql-api/admin/object-types#producttranslation',
Collection: '/reference/graphql-api/admin/object-types#collection',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type Product {
  channels: [Channel!]!
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  languageCode: LanguageCode!
  name: String!
  slug: String!
  description: String!
  enabled: Boolean!
  featuredAsset: Asset
  assets: [Asset!]!
  """Returns all ProductVariants"""
  variants: [ProductVariant!]!
  """Returns a paginated, sortable, filterable list of ProductVariants"""
  variantList(options: ProductVariantListOptions): ProductVariantList!
  optionGroups: [ProductOptionGroup!]!
  facetValues: [FacetValue!]!
  translations: [ProductTranslation!]!
  collections: [Collection!]!
  customFields: JSON
}`} </GraphQLDoc>

<a name="productlist"></a>

## ProductList

\<GraphQLDoc
type="type"
typeName="ProductList"
typeLinks={{
Product: '/reference/graphql-api/admin/object-types#product',
Int: '/reference/graphql-api/admin/object-types#int',
}}

>

{`type ProductList {
  items: [Product!]!
  totalItems: Int!
}`} </GraphQLDoc>

<a name="productoption"></a>

## ProductOption

\<GraphQLDoc
type="type"
typeName="ProductOption"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
LanguageCode: '/reference/graphql-api/admin/enums#languagecode',
String: '/reference/graphql-api/admin/object-types#string',
ProductOptionGroup: '/reference/graphql-api/admin/object-types#productoptiongroup',
ProductOptionTranslation: '/reference/graphql-api/admin/object-types#productoptiontranslation',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type ProductOption {
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  languageCode: LanguageCode!
  code: String!
  name: String!
  groupId: ID!
  group: ProductOptionGroup!
  translations: [ProductOptionTranslation!]!
  customFields: JSON
}`} </GraphQLDoc>

<a name="productoptiongroup"></a>

## ProductOptionGroup

\<GraphQLDoc
type="type"
typeName="ProductOptionGroup"
typeLinks={{
Channel: '/reference/graphql-api/admin/object-types#channel',
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
LanguageCode: '/reference/graphql-api/admin/enums#languagecode',
String: '/reference/graphql-api/admin/object-types#string',
ProductOption: '/reference/graphql-api/admin/object-types#productoption',
Int: '/reference/graphql-api/admin/object-types#int',
ProductOptionGroupTranslation: '/reference/graphql-api/admin/object-types#productoptiongrouptranslation',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type ProductOptionGroup {
  channels: [Channel!]!
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  languageCode: LanguageCode!
  code: String!
  name: String!
  options: [ProductOption!]!
  """The number of products that use this option group"""
  productCount: Int!
  translations: [ProductOptionGroupTranslation!]!
  customFields: JSON
}`} </GraphQLDoc>

<a name="productoptiongroupinuseerror"></a>

## ProductOptionGroupInUseError

\<GraphQLDoc
type="type"
typeName="ProductOptionGroupInUseError"
typeLinks={{
ErrorCode: '/reference/graphql-api/admin/enums#errorcode',
String: '/reference/graphql-api/admin/object-types#string',
Int: '/reference/graphql-api/admin/object-types#int',
}}

>

{`type ProductOptionGroupInUseError {
  errorCode: ErrorCode!
  message: String!
  optionGroupCode: String!
  productCount: Int!
  variantCount: Int!
}`} </GraphQLDoc>

<a name="productoptiongrouplist"></a>

## ProductOptionGroupList

\<GraphQLDoc
type="type"
typeName="ProductOptionGroupList"
typeLinks={{
Int: '/reference/graphql-api/admin/object-types#int',
ProductOptionGroup: '/reference/graphql-api/admin/object-types#productoptiongroup',
}}

>

{`type ProductOptionGroupList {
  totalItems: Int!
  items: [ProductOptionGroup!]!
}`} </GraphQLDoc>

<a name="productoptiongrouptranslation"></a>

## ProductOptionGroupTranslation

\<GraphQLDoc
type="type"
typeName="ProductOptionGroupTranslation"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
LanguageCode: '/reference/graphql-api/admin/enums#languagecode',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`type ProductOptionGroupTranslation {
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  languageCode: LanguageCode!
  name: String!
}`} </GraphQLDoc>

<a name="productoptioninuseerror"></a>

## ProductOptionInUseError

\<GraphQLDoc
type="type"
typeName="ProductOptionInUseError"
typeLinks={{
ErrorCode: '/reference/graphql-api/admin/enums#errorcode',
String: '/reference/graphql-api/admin/object-types#string',
Int: '/reference/graphql-api/admin/object-types#int',
}}

>

{`type ProductOptionInUseError {
  errorCode: ErrorCode!
  message: String!
  optionGroupCode: String!
  productVariantCount: Int!
}`} </GraphQLDoc>

<a name="productoptionlist"></a>

## ProductOptionList

\<GraphQLDoc
type="type"
typeName="ProductOptionList"
typeLinks={{
Int: '/reference/graphql-api/admin/object-types#int',
ProductOption: '/reference/graphql-api/admin/object-types#productoption',
}}

>

{`type ProductOptionList {
  totalItems: Int!
  items: [ProductOption!]!
}`} </GraphQLDoc>

<a name="productoptiontranslation"></a>

## ProductOptionTranslation

\<GraphQLDoc
type="type"
typeName="ProductOptionTranslation"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
LanguageCode: '/reference/graphql-api/admin/enums#languagecode',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`type ProductOptionTranslation {
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  languageCode: LanguageCode!
  name: String!
}`} </GraphQLDoc>

<a name="producttranslation"></a>

## ProductTranslation

\<GraphQLDoc
type="type"
typeName="ProductTranslation"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
LanguageCode: '/reference/graphql-api/admin/enums#languagecode',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`type ProductTranslation {
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  languageCode: LanguageCode!
  name: String!
  slug: String!
  description: String!
}`} </GraphQLDoc>

<a name="productvariant"></a>

## ProductVariant

\<GraphQLDoc
type="type"
typeName="ProductVariant"
typeLinks={{
Boolean: '/reference/graphql-api/admin/object-types#boolean',
GlobalFlag: '/reference/graphql-api/admin/enums#globalflag',
Int: '/reference/graphql-api/admin/object-types#int',
ProductVariantPrice: '/reference/graphql-api/admin/object-types#productvariantprice',
StockLevel: '/reference/graphql-api/admin/object-types#stocklevel',
StockMovementList: '/reference/graphql-api/admin/object-types#stockmovementlist',
StockMovementListOptions: '/reference/graphql-api/admin/input-types#stockmovementlistoptions',
Channel: '/reference/graphql-api/admin/object-types#channel',
ID: '/reference/graphql-api/admin/object-types#id',
Product: '/reference/graphql-api/admin/object-types#product',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
LanguageCode: '/reference/graphql-api/admin/enums#languagecode',
String: '/reference/graphql-api/admin/object-types#string',
Asset: '/reference/graphql-api/admin/object-types#asset',
Money: '/reference/graphql-api/admin/object-types#money',
CurrencyCode: '/reference/graphql-api/admin/enums#currencycode',
TaxRate: '/reference/graphql-api/admin/object-types#taxrate',
TaxCategory: '/reference/graphql-api/admin/object-types#taxcategory',
ProductOption: '/reference/graphql-api/admin/object-types#productoption',
FacetValue: '/reference/graphql-api/admin/object-types#facetvalue',
ProductVariantTranslation: '/reference/graphql-api/admin/object-types#productvarianttranslation',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type ProductVariant {
  enabled: Boolean!
  trackInventory: GlobalFlag!
  stockOnHand: Int!
  stockAllocated: Int!
  outOfStockThreshold: Int!
  useGlobalOutOfStockThreshold: Boolean!
  prices: [ProductVariantPrice!]!
  stockLevels: [StockLevel!]!
  stockMovements(options: StockMovementListOptions): StockMovementList!
  channels: [Channel!]!
  id: ID!
  product: Product!
  productId: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  languageCode: LanguageCode!
  sku: String!
  name: String!
  featuredAsset: Asset
  assets: [Asset!]!
  price: Money!
  currencyCode: CurrencyCode!
  priceWithTax: Money!
  stockLevel: String!
  taxRateApplied: TaxRate!
  taxCategory: TaxCategory!
  options: [ProductOption!]!
  facetValues: [FacetValue!]!
  translations: [ProductVariantTranslation!]!
  customFields: JSON
}`} </GraphQLDoc>

<a name="productvariantlist"></a>

## ProductVariantList

\<GraphQLDoc
type="type"
typeName="ProductVariantList"
typeLinks={{
ProductVariant: '/reference/graphql-api/admin/object-types#productvariant',
Int: '/reference/graphql-api/admin/object-types#int',
}}

>

{`type ProductVariantList {
  items: [ProductVariant!]!
  totalItems: Int!
}`} </GraphQLDoc>

<a name="productvariantprice"></a>

## ProductVariantPrice

\<GraphQLDoc
type="type"
typeName="ProductVariantPrice"
typeLinks={{
CurrencyCode: '/reference/graphql-api/admin/enums#currencycode',
Money: '/reference/graphql-api/admin/object-types#money',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type ProductVariantPrice {
  currencyCode: CurrencyCode!
  price: Money!
  customFields: JSON
}`} </GraphQLDoc>

<a name="productvarianttranslation"></a>

## ProductVariantTranslation

\<GraphQLDoc
type="type"
typeName="ProductVariantTranslation"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
LanguageCode: '/reference/graphql-api/admin/enums#languagecode',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`type ProductVariantTranslation {
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  languageCode: LanguageCode!
  name: String!
}`} </GraphQLDoc>

<a name="promotion"></a>

## Promotion

\<GraphQLDoc
type="type"
typeName="Promotion"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
String: '/reference/graphql-api/admin/object-types#string',
Int: '/reference/graphql-api/admin/object-types#int',
Boolean: '/reference/graphql-api/admin/object-types#boolean',
ConfigurableOperation: '/reference/graphql-api/admin/object-types#configurableoperation',
PromotionTranslation: '/reference/graphql-api/admin/object-types#promotiontranslation',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type Promotion {
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  startsAt: DateTime
  endsAt: DateTime
  couponCode: String
  perCustomerUsageLimit: Int
  usageLimit: Int
  name: String!
  description: String!
  enabled: Boolean!
  conditions: [ConfigurableOperation!]!
  actions: [ConfigurableOperation!]!
  translations: [PromotionTranslation!]!
  customFields: JSON
}`} </GraphQLDoc>

<a name="promotionlist"></a>

## PromotionList

\<GraphQLDoc
type="type"
typeName="PromotionList"
typeLinks={{
Promotion: '/reference/graphql-api/admin/object-types#promotion',
Int: '/reference/graphql-api/admin/object-types#int',
}}

>

{`type PromotionList {
  items: [Promotion!]!
  totalItems: Int!
}`} </GraphQLDoc>

<a name="promotiontranslation"></a>

## PromotionTranslation

\<GraphQLDoc
type="type"
typeName="PromotionTranslation"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
LanguageCode: '/reference/graphql-api/admin/enums#languagecode',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`type PromotionTranslation {
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  languageCode: LanguageCode!
  name: String!
  description: String!
}`} </GraphQLDoc>

<a name="province"></a>

## Province

\<GraphQLDoc
type="type"
typeName="Province"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
LanguageCode: '/reference/graphql-api/admin/enums#languagecode',
String: '/reference/graphql-api/admin/object-types#string',
Boolean: '/reference/graphql-api/admin/object-types#boolean',
Region: '/reference/graphql-api/admin/object-types#region',
RegionTranslation: '/reference/graphql-api/admin/object-types#regiontranslation',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type Province {
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  languageCode: LanguageCode!
  code: String!
  type: String!
  name: String!
  enabled: Boolean!
  parent: Region
  parentId: ID
  translations: [RegionTranslation!]!
  customFields: JSON
}`} </GraphQLDoc>

<a name="provincelist"></a>

## ProvinceList

\<GraphQLDoc
type="type"
typeName="ProvinceList"
typeLinks={{
Province: '/reference/graphql-api/admin/object-types#province',
Int: '/reference/graphql-api/admin/object-types#int',
}}

>

{`type ProvinceList {
  items: [Province!]!
  totalItems: Int!
}`} </GraphQLDoc>

<a name="quantitytoogreaterror"></a>

## QuantityTooGreatError

\<GraphQLDoc
type="type"
typeName="QuantityTooGreatError"
typeLinks={{
ErrorCode: '/reference/graphql-api/admin/enums#errorcode',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`"""Returned if the specified quantity of an OrderLine is greater than the number of items in that line"""
type QuantityTooGreatError {
  errorCode: ErrorCode!
  message: String!
}`} </GraphQLDoc>

<a name="refund"></a>

## Refund

\<GraphQLDoc
type="type"
typeName="Refund"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
Money: '/reference/graphql-api/admin/object-types#money',
String: '/reference/graphql-api/admin/object-types#string',
RefundLine: '/reference/graphql-api/admin/object-types#refundline',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type Refund {
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  items: Money!
  shipping: Money!
  adjustment: Money!
  total: Money!
  method: String
  state: String!
  transactionId: String
  reason: String
  lines: [RefundLine!]!
  paymentId: ID!
  metadata: JSON
  customFields: JSON
}`} </GraphQLDoc>

<a name="refundamounterror"></a>

## RefundAmountError

\<GraphQLDoc
type="type"
typeName="RefundAmountError"
typeLinks={{
ErrorCode: '/reference/graphql-api/admin/enums#errorcode',
String: '/reference/graphql-api/admin/object-types#string',
Int: '/reference/graphql-api/admin/object-types#int',
}}

>

{`"""Returned if \`amount\` is greater than the maximum un-refunded amount of the Payment"""
type RefundAmountError {
errorCode: ErrorCode!
message: String!
maximumRefundable: Int!
}\`} </GraphQLDoc>

<a name="refundline"></a>

## RefundLine

\<GraphQLDoc
type="type"
typeName="RefundLine"
typeLinks={{
OrderLine: '/reference/graphql-api/admin/object-types#orderline',
ID: '/reference/graphql-api/admin/object-types#id',
Int: '/reference/graphql-api/admin/object-types#int',
Refund: '/reference/graphql-api/admin/object-types#refund',
}}

>

{`type RefundLine {
  orderLine: OrderLine!
  orderLineId: ID!
  quantity: Int!
  refund: Refund!
  refundId: ID!
}`} </GraphQLDoc>

<a name="refundorderresult"></a>

## RefundOrderResult

\<GraphQLDoc
type="union"
typeName="RefundOrderResult"
typeLinks={{
Refund: '/reference/graphql-api/admin/object-types#refund',
QuantityTooGreatError: '/reference/graphql-api/admin/object-types#quantitytoogreaterror',
NothingToRefundError: '/reference/graphql-api/admin/object-types#nothingtorefunderror',
OrderStateTransitionError: '/reference/graphql-api/admin/object-types#orderstatetransitionerror',
MultipleOrderError: '/reference/graphql-api/admin/object-types#multipleordererror',
PaymentOrderMismatchError: '/reference/graphql-api/admin/object-types#paymentordermismatcherror',
RefundOrderStateError: '/reference/graphql-api/admin/object-types#refundorderstateerror',
AlreadyRefundedError: '/reference/graphql-api/admin/object-types#alreadyrefundederror',
RefundStateTransitionError: '/reference/graphql-api/admin/object-types#refundstatetransitionerror',
RefundAmountError: '/reference/graphql-api/admin/object-types#refundamounterror',
}}

>

{`union RefundOrderResult = Refund | QuantityTooGreatError | NothingToRefundError | OrderStateTransitionError | MultipleOrderError | PaymentOrderMismatchError | RefundOrderStateError | AlreadyRefundedError | RefundStateTransitionError | RefundAmountError`} </GraphQLDoc>

<a name="refundorderstateerror"></a>

## RefundOrderStateError

\<GraphQLDoc
type="type"
typeName="RefundOrderStateError"
typeLinks={{
ErrorCode: '/reference/graphql-api/admin/enums#errorcode',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`"""Returned if an attempting to refund an Order which is not in the expected state"""
type RefundOrderStateError {
  errorCode: ErrorCode!
  message: String!
  orderState: String!
}`} </GraphQLDoc>

<a name="refundpaymentidmissingerror"></a>

## RefundPaymentIdMissingError

\<GraphQLDoc
type="type"
typeName="RefundPaymentIdMissingError"
typeLinks={{
ErrorCode: '/reference/graphql-api/admin/enums#errorcode',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`"""
Returned when a call to modifyOrder fails to include a refundPaymentId even
though the price has decreased as a result of the changes.
"""
type RefundPaymentIdMissingError {
  errorCode: ErrorCode!
  message: String!
}`} </GraphQLDoc>

<a name="refundstatetransitionerror"></a>

## RefundStateTransitionError

\<GraphQLDoc
type="type"
typeName="RefundStateTransitionError"
typeLinks={{
ErrorCode: '/reference/graphql-api/admin/enums#errorcode',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`"""Returned when there is an error in transitioning the Refund state"""
type RefundStateTransitionError {
  errorCode: ErrorCode!
  message: String!
  transitionError: String!
  fromState: String!
  toState: String!
}`} </GraphQLDoc>

<a name="regiontranslation"></a>

## RegionTranslation

\<GraphQLDoc
type="type"
typeName="RegionTranslation"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
LanguageCode: '/reference/graphql-api/admin/enums#languagecode',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`type RegionTranslation {
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  languageCode: LanguageCode!
  name: String!
}`} </GraphQLDoc>

<a name="relationcustomfieldconfig"></a>

## RelationCustomFieldConfig

\<GraphQLDoc
type="type"
typeName="RelationCustomFieldConfig"
typeLinks={{
String: '/reference/graphql-api/admin/object-types#string',
Boolean: '/reference/graphql-api/admin/object-types#boolean',
LocalizedString: '/reference/graphql-api/admin/object-types#localizedstring',
Permission: '/reference/graphql-api/admin/enums#permission',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type RelationCustomFieldConfig {
  name: String!
  type: String!
  list: Boolean!
  label: [LocalizedString!]
  description: [LocalizedString!]
  readonly: Boolean
  internal: Boolean
  nullable: Boolean
  requiresPermission: [Permission!]
  deprecated: Boolean
  deprecationReason: String
  entity: String!
  scalarFields: [String!]!
  ui: JSON
}`} </GraphQLDoc>

<a name="release"></a>

## Release

\<GraphQLDoc
type="type"
typeName="Release"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
ProductVariant: '/reference/graphql-api/admin/object-types#productvariant',
StockMovementType: '/reference/graphql-api/admin/enums#stockmovementtype',
Int: '/reference/graphql-api/admin/object-types#int',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type Release {
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  productVariant: ProductVariant!
  type: StockMovementType!
  quantity: Int!
  customFields: JSON
}`} </GraphQLDoc>

<a name="removefacetfromchannelresult"></a>

## RemoveFacetFromChannelResult

\<GraphQLDoc
type="union"
typeName="RemoveFacetFromChannelResult"
typeLinks={{
Facet: '/reference/graphql-api/admin/object-types#facet',
FacetInUseError: '/reference/graphql-api/admin/object-types#facetinuseerror',
}}

>

{`union RemoveFacetFromChannelResult = Facet | FacetInUseError`} </GraphQLDoc>

<a name="removeoptiongroupfromproductresult"></a>

## RemoveOptionGroupFromProductResult

\<GraphQLDoc
type="union"
typeName="RemoveOptionGroupFromProductResult"
typeLinks={{
Product: '/reference/graphql-api/admin/object-types#product',
ProductOptionInUseError: '/reference/graphql-api/admin/object-types#productoptioninuseerror',
}}

>

{`union RemoveOptionGroupFromProductResult = Product | ProductOptionInUseError`} </GraphQLDoc>

<a name="removeorderitemsresult"></a>

## RemoveOrderItemsResult

\<GraphQLDoc
type="union"
typeName="RemoveOrderItemsResult"
typeLinks={{
Order: '/reference/graphql-api/admin/object-types#order',
OrderModificationError: '/reference/graphql-api/admin/object-types#ordermodificationerror',
OrderInterceptorError: '/reference/graphql-api/admin/object-types#orderinterceptorerror',
}}

>

{`union RemoveOrderItemsResult = Order | OrderModificationError | OrderInterceptorError`} </GraphQLDoc>

<a name="removeproductoptiongroupfromchannelresult"></a>

## RemoveProductOptionGroupFromChannelResult

\<GraphQLDoc
type="union"
typeName="RemoveProductOptionGroupFromChannelResult"
typeLinks={{
ProductOptionGroup: '/reference/graphql-api/admin/object-types#productoptiongroup',
ProductOptionGroupInUseError: '/reference/graphql-api/admin/object-types#productoptiongroupinuseerror',
}}

>

{`union RemoveProductOptionGroupFromChannelResult = ProductOptionGroup | ProductOptionGroupInUseError`} </GraphQLDoc>

<a name="return"></a>

## Return

\<GraphQLDoc
type="type"
typeName="Return"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
ProductVariant: '/reference/graphql-api/admin/object-types#productvariant',
StockMovementType: '/reference/graphql-api/admin/enums#stockmovementtype',
Int: '/reference/graphql-api/admin/object-types#int',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type Return {
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  productVariant: ProductVariant!
  type: StockMovementType!
  quantity: Int!
  customFields: JSON
}`} </GraphQLDoc>

<a name="role"></a>

## Role

\<GraphQLDoc
type="type"
typeName="Role"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
String: '/reference/graphql-api/admin/object-types#string',
Permission: '/reference/graphql-api/admin/enums#permission',
Channel: '/reference/graphql-api/admin/object-types#channel',
}}

>

{`type Role {
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  code: String!
  description: String!
  permissions: [Permission!]!
  channels: [Channel!]!
}`} </GraphQLDoc>

<a name="rolelist"></a>

## RoleList

\<GraphQLDoc
type="type"
typeName="RoleList"
typeLinks={{
Role: '/reference/graphql-api/admin/object-types#role',
Int: '/reference/graphql-api/admin/object-types#int',
}}

>

{`type RoleList {
  items: [Role!]!
  totalItems: Int!
}`} </GraphQLDoc>

<a name="rotateapikeyresult"></a>

## RotateApiKeyResult

\<GraphQLDoc
type="type"
typeName="RotateApiKeyResult"
typeLinks={{
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`type RotateApiKeyResult {
  """The generated API-Key. API-Keys cannot be viewed again after creation!"""
  apiKey: String!
}`} </GraphQLDoc>

<a name="sale"></a>

## Sale

\<GraphQLDoc
type="type"
typeName="Sale"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
ProductVariant: '/reference/graphql-api/admin/object-types#productvariant',
StockMovementType: '/reference/graphql-api/admin/enums#stockmovementtype',
Int: '/reference/graphql-api/admin/object-types#int',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type Sale {
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  productVariant: ProductVariant!
  type: StockMovementType!
  quantity: Int!
  customFields: JSON
}`} </GraphQLDoc>

<a name="scheduledtask"></a>

## ScheduledTask

\<GraphQLDoc
type="type"
typeName="ScheduledTask"
typeLinks={{
String: '/reference/graphql-api/admin/object-types#string',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
Boolean: '/reference/graphql-api/admin/object-types#boolean',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type ScheduledTask {
  id: String!
  description: String!
  schedule: String!
  scheduleDescription: String!
  lastExecutedAt: DateTime
  nextExecutionAt: DateTime
  isRunning: Boolean!
  lastResult: JSON
  enabled: Boolean!
}`} </GraphQLDoc>

<a name="searchreindexresponse"></a>

## SearchReindexResponse

\<GraphQLDoc
type="type"
typeName="SearchReindexResponse"
typeLinks={{
Boolean: '/reference/graphql-api/admin/object-types#boolean',
}}

>

{`type SearchReindexResponse {
  success: Boolean!
}`} </GraphQLDoc>

<a name="searchresponse"></a>

## SearchResponse

\<GraphQLDoc
type="type"
typeName="SearchResponse"
typeLinks={{
SearchResult: '/reference/graphql-api/admin/object-types#searchresult',
Int: '/reference/graphql-api/admin/object-types#int',
FacetValueResult: '/reference/graphql-api/admin/object-types#facetvalueresult',
CollectionResult: '/reference/graphql-api/admin/object-types#collectionresult',
}}

>

{`type SearchResponse {
  items: [SearchResult!]!
  totalItems: Int!
  facetValues: [FacetValueResult!]!
  collections: [CollectionResult!]!
}`} </GraphQLDoc>

<a name="searchresult"></a>

## SearchResult

\<GraphQLDoc
type="type"
typeName="SearchResult"
typeLinks={{
Boolean: '/reference/graphql-api/admin/object-types#boolean',
ID: '/reference/graphql-api/admin/object-types#id',
String: '/reference/graphql-api/admin/object-types#string',
SearchResultAsset: '/reference/graphql-api/admin/object-types#searchresultasset',
SearchResultPrice: '/reference/graphql-api/admin/object-types#searchresultprice',
CurrencyCode: '/reference/graphql-api/admin/enums#currencycode',
Float: '/reference/graphql-api/admin/object-types#float',
}}

>

{`type SearchResult {
  enabled: Boolean!
  """An array of ids of the Channels in which this result appears"""
  channelIds: [ID!]!
  sku: String!
  slug: String!
  productId: ID!
  productName: String!
  productAsset: SearchResultAsset
  productVariantId: ID!
  productVariantName: String!
  productVariantAsset: SearchResultAsset
  price: SearchResultPrice!
  priceWithTax: SearchResultPrice!
  currencyCode: CurrencyCode!
  description: String!
  facetIds: [ID!]!
  facetValueIds: [ID!]!
  """An array of ids of the Collections in which this result appears"""
  collectionIds: [ID!]!
  """A relevance score for the result. Differs between database implementations"""
  score: Float!
}`} </GraphQLDoc>

<a name="searchresultasset"></a>

## SearchResultAsset

\<GraphQLDoc
type="type"
typeName="SearchResultAsset"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
String: '/reference/graphql-api/admin/object-types#string',
Coordinate: '/reference/graphql-api/admin/object-types#coordinate',
}}

>

{`type SearchResultAsset {
  id: ID!
  preview: String!
  focalPoint: Coordinate
}`} </GraphQLDoc>

<a name="searchresultprice"></a>

## SearchResultPrice

\<GraphQLDoc
type="union"
typeName="SearchResultPrice"
typeLinks={{
PriceRange: '/reference/graphql-api/admin/object-types#pricerange',
SinglePrice: '/reference/graphql-api/admin/object-types#singleprice',
}}

>

{`"""The price of a search result product, either as a range or as a single price"""
union SearchResultPrice = PriceRange | SinglePrice`} </GraphQLDoc>

<a name="seller"></a>

## Seller

\<GraphQLDoc
type="type"
typeName="Seller"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
String: '/reference/graphql-api/admin/object-types#string',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type Seller {
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  name: String!
  customFields: JSON
}`} </GraphQLDoc>

<a name="sellerlist"></a>

## SellerList

\<GraphQLDoc
type="type"
typeName="SellerList"
typeLinks={{
Seller: '/reference/graphql-api/admin/object-types#seller',
Int: '/reference/graphql-api/admin/object-types#int',
}}

>

{`type SellerList {
  items: [Seller!]!
  totalItems: Int!
}`} </GraphQLDoc>

<a name="serverconfig"></a>

## ServerConfig

\<GraphQLDoc
type="type"
typeName="ServerConfig"
typeLinks={{
OrderProcessState: '/reference/graphql-api/admin/object-types#orderprocessstate',
String: '/reference/graphql-api/admin/object-types#string',
PermissionDefinition: '/reference/graphql-api/admin/object-types#permissiondefinition',
Int: '/reference/graphql-api/admin/object-types#int',
CustomFields: '/reference/graphql-api/admin/object-types#customfields',
EntityCustomFields: '/reference/graphql-api/admin/object-types#entitycustomfields',
}}

>

{`type ServerConfig {
  orderProcess: [OrderProcessState!]!
  permittedAssetTypes: [String!]!
  permissions: [PermissionDefinition!]!
  moneyStrategyPrecision: Int!
  """
  This field is deprecated in v2.2 in favor of the entityCustomFields field,
  which allows custom fields to be defined on user-supplies entities.
  """
  customFieldConfig: CustomFields!
  entityCustomFields: [EntityCustomFields!]!
}`} </GraphQLDoc>

<a name="setcustomerfordraftorderresult"></a>

## SetCustomerForDraftOrderResult

\<GraphQLDoc
type="union"
typeName="SetCustomerForDraftOrderResult"
typeLinks={{
Order: '/reference/graphql-api/admin/object-types#order',
EmailAddressConflictError: '/reference/graphql-api/admin/object-types#emailaddressconflicterror',
}}

>

{`union SetCustomerForDraftOrderResult = Order | EmailAddressConflictError`} </GraphQLDoc>

<a name="setordershippingmethodresult"></a>

## SetOrderShippingMethodResult

\<GraphQLDoc
type="union"
typeName="SetOrderShippingMethodResult"
typeLinks={{
Order: '/reference/graphql-api/admin/object-types#order',
OrderModificationError: '/reference/graphql-api/admin/object-types#ordermodificationerror',
IneligibleShippingMethodError: '/reference/graphql-api/admin/object-types#ineligibleshippingmethoderror',
NoActiveOrderError: '/reference/graphql-api/admin/object-types#noactiveordererror',
}}

>

{`union SetOrderShippingMethodResult = Order | OrderModificationError | IneligibleShippingMethodError | NoActiveOrderError`} </GraphQLDoc>

<a name="setsettingsstorevalueresult"></a>

## SetSettingsStoreValueResult

\<GraphQLDoc
type="type"
typeName="SetSettingsStoreValueResult"
typeLinks={{
String: '/reference/graphql-api/admin/object-types#string',
Boolean: '/reference/graphql-api/admin/object-types#boolean',
}}

>

{`type SetSettingsStoreValueResult {
  key: String!
  result: Boolean!
  error: String
}`} </GraphQLDoc>

<a name="settingsstorefielddefinition"></a>

## SettingsStoreFieldDefinition

\<GraphQLDoc
type="type"
typeName="SettingsStoreFieldDefinition"
typeLinks={{
String: '/reference/graphql-api/admin/object-types#string',
SettingsStoreScopeType: '/reference/graphql-api/admin/enums#settingsstorescopetype',
Boolean: '/reference/graphql-api/admin/object-types#boolean',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type SettingsStoreFieldDefinition {
  key: String!
  scopeType: SettingsStoreScopeType!
  readonly: Boolean!
  currentValue: JSON
}`} </GraphQLDoc>

<a name="settlepaymenterror"></a>

## SettlePaymentError

\<GraphQLDoc
type="type"
typeName="SettlePaymentError"
typeLinks={{
ErrorCode: '/reference/graphql-api/admin/enums#errorcode',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`"""Returned if the Payment settlement fails"""
type SettlePaymentError {
  errorCode: ErrorCode!
  message: String!
  paymentErrorMessage: String!
}`} </GraphQLDoc>

<a name="settlepaymentresult"></a>

## SettlePaymentResult

\<GraphQLDoc
type="union"
typeName="SettlePaymentResult"
typeLinks={{
Payment: '/reference/graphql-api/admin/object-types#payment',
SettlePaymentError: '/reference/graphql-api/admin/object-types#settlepaymenterror',
PaymentStateTransitionError: '/reference/graphql-api/admin/object-types#paymentstatetransitionerror',
OrderStateTransitionError: '/reference/graphql-api/admin/object-types#orderstatetransitionerror',
}}

>

{`union SettlePaymentResult = Payment | SettlePaymentError | PaymentStateTransitionError | OrderStateTransitionError`} </GraphQLDoc>

<a name="settlerefundresult"></a>

## SettleRefundResult

\<GraphQLDoc
type="union"
typeName="SettleRefundResult"
typeLinks={{
Refund: '/reference/graphql-api/admin/object-types#refund',
RefundStateTransitionError: '/reference/graphql-api/admin/object-types#refundstatetransitionerror',
}}

>

{`union SettleRefundResult = Refund | RefundStateTransitionError`} </GraphQLDoc>

<a name="shippingline"></a>

## ShippingLine

\<GraphQLDoc
type="type"
typeName="ShippingLine"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
ShippingMethod: '/reference/graphql-api/admin/object-types#shippingmethod',
Money: '/reference/graphql-api/admin/object-types#money',
Discount: '/reference/graphql-api/admin/object-types#discount',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type ShippingLine {
  id: ID!
  shippingMethod: ShippingMethod!
  price: Money!
  priceWithTax: Money!
  discountedPrice: Money!
  discountedPriceWithTax: Money!
  discounts: [Discount!]!
  customFields: JSON
}`} </GraphQLDoc>

<a name="shippingmethod"></a>

## ShippingMethod

\<GraphQLDoc
type="type"
typeName="ShippingMethod"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
LanguageCode: '/reference/graphql-api/admin/enums#languagecode',
String: '/reference/graphql-api/admin/object-types#string',
ConfigurableOperation: '/reference/graphql-api/admin/object-types#configurableoperation',
ShippingMethodTranslation: '/reference/graphql-api/admin/object-types#shippingmethodtranslation',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type ShippingMethod {
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  languageCode: LanguageCode!
  code: String!
  name: String!
  description: String!
  fulfillmentHandlerCode: String!
  checker: ConfigurableOperation!
  calculator: ConfigurableOperation!
  translations: [ShippingMethodTranslation!]!
  customFields: JSON
}`} </GraphQLDoc>

<a name="shippingmethodlist"></a>

## ShippingMethodList

\<GraphQLDoc
type="type"
typeName="ShippingMethodList"
typeLinks={{
ShippingMethod: '/reference/graphql-api/admin/object-types#shippingmethod',
Int: '/reference/graphql-api/admin/object-types#int',
}}

>

{`type ShippingMethodList {
  items: [ShippingMethod!]!
  totalItems: Int!
}`} </GraphQLDoc>

<a name="shippingmethodquote"></a>

## ShippingMethodQuote

\<GraphQLDoc
type="type"
typeName="ShippingMethodQuote"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
Money: '/reference/graphql-api/admin/object-types#money',
String: '/reference/graphql-api/admin/object-types#string',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type ShippingMethodQuote {
  id: ID!
  price: Money!
  priceWithTax: Money!
  code: String!
  name: String!
  description: String!
  """Any optional metadata returned by the ShippingCalculator in the ShippingCalculationResult"""
  metadata: JSON
  customFields: JSON
}`} </GraphQLDoc>

<a name="shippingmethodtranslation"></a>

## ShippingMethodTranslation

\<GraphQLDoc
type="type"
typeName="ShippingMethodTranslation"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
LanguageCode: '/reference/graphql-api/admin/enums#languagecode',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`type ShippingMethodTranslation {
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  languageCode: LanguageCode!
  name: String!
  description: String!
}`} </GraphQLDoc>

<a name="singleprice"></a>

## SinglePrice

\<GraphQLDoc
type="type"
typeName="SinglePrice"
typeLinks={{
Money: '/reference/graphql-api/admin/object-types#money',
}}

>

{`"""The price value where the result has a single price"""
type SinglePrice {
  value: Money!
}`} </GraphQLDoc>

<a name="stockadjustment"></a>

## StockAdjustment

\<GraphQLDoc
type="type"
typeName="StockAdjustment"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
ProductVariant: '/reference/graphql-api/admin/object-types#productvariant',
StockMovementType: '/reference/graphql-api/admin/enums#stockmovementtype',
Int: '/reference/graphql-api/admin/object-types#int',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type StockAdjustment {
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  productVariant: ProductVariant!
  type: StockMovementType!
  quantity: Int!
  customFields: JSON
}`} </GraphQLDoc>

<a name="stocklevel"></a>

## StockLevel

\<GraphQLDoc
type="type"
typeName="StockLevel"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
Int: '/reference/graphql-api/admin/object-types#int',
StockLocation: '/reference/graphql-api/admin/object-types#stocklocation',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type StockLevel {
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  stockLocationId: ID!
  stockOnHand: Int!
  stockAllocated: Int!
  stockLocation: StockLocation!
  customFields: JSON
}`} </GraphQLDoc>

<a name="stocklocation"></a>

## StockLocation

\<GraphQLDoc
type="type"
typeName="StockLocation"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
String: '/reference/graphql-api/admin/object-types#string',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type StockLocation {
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  name: String!
  description: String!
  customFields: JSON
}`} </GraphQLDoc>

<a name="stocklocationlist"></a>

## StockLocationList

\<GraphQLDoc
type="type"
typeName="StockLocationList"
typeLinks={{
StockLocation: '/reference/graphql-api/admin/object-types#stocklocation',
Int: '/reference/graphql-api/admin/object-types#int',
}}

>

{`type StockLocationList {
  items: [StockLocation!]!
  totalItems: Int!
}`} </GraphQLDoc>

<a name="stockmovementitem"></a>

## StockMovementItem

\<GraphQLDoc
type="union"
typeName="StockMovementItem"
typeLinks={{
StockAdjustment: '/reference/graphql-api/admin/object-types#stockadjustment',
Allocation: '/reference/graphql-api/admin/object-types#allocation',
Sale: '/reference/graphql-api/admin/object-types#sale',
Cancellation: '/reference/graphql-api/admin/object-types#cancellation',
Return: '/reference/graphql-api/admin/object-types#return',
Release: '/reference/graphql-api/admin/object-types#release',
}}

>

{`union StockMovementItem = StockAdjustment | Allocation | Sale | Cancellation | Return | Release`} </GraphQLDoc>

<a name="stockmovementlist"></a>

## StockMovementList

\<GraphQLDoc
type="type"
typeName="StockMovementList"
typeLinks={{
StockMovementItem: '/reference/graphql-api/admin/object-types#stockmovementitem',
Int: '/reference/graphql-api/admin/object-types#int',
}}

>

{`type StockMovementList {
  items: [StockMovementItem!]!
  totalItems: Int!
}`} </GraphQLDoc>

<a name="string"></a>

## String

\<GraphQLDoc
type="scalar"
typeName="String"
typeLinks={{}}

>

{`"""The \`String\` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text."""
scalar String\`} </GraphQLDoc>

<a name="stringcustomfieldconfig"></a>

## StringCustomFieldConfig

\<GraphQLDoc
type="type"
typeName="StringCustomFieldConfig"
typeLinks={{
String: '/reference/graphql-api/admin/object-types#string',
Boolean: '/reference/graphql-api/admin/object-types#boolean',
Int: '/reference/graphql-api/admin/object-types#int',
LocalizedString: '/reference/graphql-api/admin/object-types#localizedstring',
Permission: '/reference/graphql-api/admin/enums#permission',
StringFieldOption: '/reference/graphql-api/admin/object-types#stringfieldoption',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type StringCustomFieldConfig {
  name: String!
  type: String!
  list: Boolean!
  length: Int
  label: [LocalizedString!]
  description: [LocalizedString!]
  readonly: Boolean
  internal: Boolean
  nullable: Boolean
  requiresPermission: [Permission!]
  deprecated: Boolean
  deprecationReason: String
  pattern: String
  options: [StringFieldOption!]
  ui: JSON
}`} </GraphQLDoc>

<a name="stringfieldoption"></a>

## StringFieldOption

\<GraphQLDoc
type="type"
typeName="StringFieldOption"
typeLinks={{
String: '/reference/graphql-api/admin/object-types#string',
LocalizedString: '/reference/graphql-api/admin/object-types#localizedstring',
}}

>

{`type StringFieldOption {
  value: String!
  label: [LocalizedString!]
}`} </GraphQLDoc>

<a name="stringstructfieldconfig"></a>

## StringStructFieldConfig

\<GraphQLDoc
type="type"
typeName="StringStructFieldConfig"
typeLinks={{
String: '/reference/graphql-api/admin/object-types#string',
Boolean: '/reference/graphql-api/admin/object-types#boolean',
LocalizedString: '/reference/graphql-api/admin/object-types#localizedstring',
Int: '/reference/graphql-api/admin/object-types#int',
StringFieldOption: '/reference/graphql-api/admin/object-types#stringfieldoption',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type StringStructFieldConfig {
  name: String!
  type: String!
  list: Boolean!
  label: [LocalizedString!]
  description: [LocalizedString!]
  length: Int
  pattern: String
  options: [StringFieldOption!]
  ui: JSON
}`} </GraphQLDoc>

<a name="structcustomfieldconfig"></a>

## StructCustomFieldConfig

\<GraphQLDoc
type="type"
typeName="StructCustomFieldConfig"
typeLinks={{
String: '/reference/graphql-api/admin/object-types#string',
Boolean: '/reference/graphql-api/admin/object-types#boolean',
StructFieldConfig: '/reference/graphql-api/admin/object-types#structfieldconfig',
LocalizedString: '/reference/graphql-api/admin/object-types#localizedstring',
Permission: '/reference/graphql-api/admin/enums#permission',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type StructCustomFieldConfig {
  name: String!
  type: String!
  list: Boolean!
  fields: [StructFieldConfig!]!
  label: [LocalizedString!]
  description: [LocalizedString!]
  readonly: Boolean
  internal: Boolean
  nullable: Boolean
  requiresPermission: [Permission!]
  deprecated: Boolean
  deprecationReason: String
  ui: JSON
}`} </GraphQLDoc>

<a name="structfieldconfig"></a>

## StructFieldConfig

\<GraphQLDoc
type="union"
typeName="StructFieldConfig"
typeLinks={{
StringStructFieldConfig: '/reference/graphql-api/admin/object-types#stringstructfieldconfig',
IntStructFieldConfig: '/reference/graphql-api/admin/object-types#intstructfieldconfig',
FloatStructFieldConfig: '/reference/graphql-api/admin/object-types#floatstructfieldconfig',
BooleanStructFieldConfig: '/reference/graphql-api/admin/object-types#booleanstructfieldconfig',
DateTimeStructFieldConfig: '/reference/graphql-api/admin/object-types#datetimestructfieldconfig',
TextStructFieldConfig: '/reference/graphql-api/admin/object-types#textstructfieldconfig',
}}

>

{`union StructFieldConfig = StringStructFieldConfig | IntStructFieldConfig | FloatStructFieldConfig | BooleanStructFieldConfig | DateTimeStructFieldConfig | TextStructFieldConfig`} </GraphQLDoc>

<a name="success"></a>

## Success

\<GraphQLDoc
type="type"
typeName="Success"
typeLinks={{
Boolean: '/reference/graphql-api/admin/object-types#boolean',
}}

>

{`"""Indicates that an operation succeeded, where we do not want to return any more specific information."""
type Success {
  success: Boolean!
}`} </GraphQLDoc>

<a name="surcharge"></a>

## Surcharge

\<GraphQLDoc
type="type"
typeName="Surcharge"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
String: '/reference/graphql-api/admin/object-types#string',
TaxLine: '/reference/graphql-api/admin/object-types#taxline',
Money: '/reference/graphql-api/admin/object-types#money',
Float: '/reference/graphql-api/admin/object-types#float',
}}

>

{`type Surcharge {
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  description: String!
  sku: String
  taxLines: [TaxLine!]!
  price: Money!
  priceWithTax: Money!
  taxRate: Float!
}`} </GraphQLDoc>

<a name="tag"></a>

## Tag

\<GraphQLDoc
type="type"
typeName="Tag"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
String: '/reference/graphql-api/admin/object-types#string',
}}

>

{`type Tag {
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  value: String!
}`} </GraphQLDoc>

<a name="taglist"></a>

## TagList

\<GraphQLDoc
type="type"
typeName="TagList"
typeLinks={{
Tag: '/reference/graphql-api/admin/object-types#tag',
Int: '/reference/graphql-api/admin/object-types#int',
}}

>

{`type TagList {
  items: [Tag!]!
  totalItems: Int!
}`} </GraphQLDoc>

<a name="taxcategory"></a>

## TaxCategory

\<GraphQLDoc
type="type"
typeName="TaxCategory"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
String: '/reference/graphql-api/admin/object-types#string',
Boolean: '/reference/graphql-api/admin/object-types#boolean',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type TaxCategory {
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  name: String!
  isDefault: Boolean!
  customFields: JSON
}`} </GraphQLDoc>

<a name="taxcategorylist"></a>

## TaxCategoryList

\<GraphQLDoc
type="type"
typeName="TaxCategoryList"
typeLinks={{
TaxCategory: '/reference/graphql-api/admin/object-types#taxcategory',
Int: '/reference/graphql-api/admin/object-types#int',
}}

>

{`type TaxCategoryList {
  items: [TaxCategory!]!
  totalItems: Int!
}`} </GraphQLDoc>

<a name="taxline"></a>

## TaxLine

\<GraphQLDoc
type="type"
typeName="TaxLine"
typeLinks={{
String: '/reference/graphql-api/admin/object-types#string',
Float: '/reference/graphql-api/admin/object-types#float',
}}

>

{`type TaxLine {
  description: String!
  taxRate: Float!
}`} </GraphQLDoc>

<a name="taxrate"></a>

## TaxRate

\<GraphQLDoc
type="type"
typeName="TaxRate"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
String: '/reference/graphql-api/admin/object-types#string',
Boolean: '/reference/graphql-api/admin/object-types#boolean',
Float: '/reference/graphql-api/admin/object-types#float',
TaxCategory: '/reference/graphql-api/admin/object-types#taxcategory',
Zone: '/reference/graphql-api/admin/object-types#zone',
CustomerGroup: '/reference/graphql-api/admin/object-types#customergroup',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type TaxRate {
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  name: String!
  enabled: Boolean!
  value: Float!
  category: TaxCategory!
  zone: Zone!
  customerGroup: CustomerGroup
  customFields: JSON
}`} </GraphQLDoc>

<a name="taxratelist"></a>

## TaxRateList

\<GraphQLDoc
type="type"
typeName="TaxRateList"
typeLinks={{
TaxRate: '/reference/graphql-api/admin/object-types#taxrate',
Int: '/reference/graphql-api/admin/object-types#int',
}}

>

{`type TaxRateList {
  items: [TaxRate!]!
  totalItems: Int!
}`} </GraphQLDoc>

<a name="testshippingmethodquote"></a>

## TestShippingMethodQuote

\<GraphQLDoc
type="type"
typeName="TestShippingMethodQuote"
typeLinks={{
Money: '/reference/graphql-api/admin/object-types#money',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type TestShippingMethodQuote {
  price: Money!
  priceWithTax: Money!
  metadata: JSON
}`} </GraphQLDoc>

<a name="testshippingmethodresult"></a>

## TestShippingMethodResult

\<GraphQLDoc
type="type"
typeName="TestShippingMethodResult"
typeLinks={{
Boolean: '/reference/graphql-api/admin/object-types#boolean',
TestShippingMethodQuote: '/reference/graphql-api/admin/object-types#testshippingmethodquote',
}}

>

{`type TestShippingMethodResult {
  eligible: Boolean!
  quote: TestShippingMethodQuote
}`} </GraphQLDoc>

<a name="textcustomfieldconfig"></a>

## TextCustomFieldConfig

\<GraphQLDoc
type="type"
typeName="TextCustomFieldConfig"
typeLinks={{
String: '/reference/graphql-api/admin/object-types#string',
Boolean: '/reference/graphql-api/admin/object-types#boolean',
LocalizedString: '/reference/graphql-api/admin/object-types#localizedstring',
Permission: '/reference/graphql-api/admin/enums#permission',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type TextCustomFieldConfig {
  name: String!
  type: String!
  list: Boolean!
  label: [LocalizedString!]
  description: [LocalizedString!]
  readonly: Boolean
  internal: Boolean
  nullable: Boolean
  requiresPermission: [Permission!]
  deprecated: Boolean
  deprecationReason: String
  ui: JSON
}`} </GraphQLDoc>

<a name="textstructfieldconfig"></a>

## TextStructFieldConfig

\<GraphQLDoc
type="type"
typeName="TextStructFieldConfig"
typeLinks={{
String: '/reference/graphql-api/admin/object-types#string',
Boolean: '/reference/graphql-api/admin/object-types#boolean',
LocalizedString: '/reference/graphql-api/admin/object-types#localizedstring',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type TextStructFieldConfig {
  name: String!
  type: String!
  list: Boolean!
  label: [LocalizedString!]
  description: [LocalizedString!]
  ui: JSON
}`} </GraphQLDoc>

<a name="transitionfulfillmenttostateresult"></a>

## TransitionFulfillmentToStateResult

\<GraphQLDoc
type="union"
typeName="TransitionFulfillmentToStateResult"
typeLinks={{
Fulfillment: '/reference/graphql-api/admin/object-types#fulfillment',
FulfillmentStateTransitionError: '/reference/graphql-api/admin/object-types#fulfillmentstatetransitionerror',
}}

>

{`union TransitionFulfillmentToStateResult = Fulfillment | FulfillmentStateTransitionError`} </GraphQLDoc>

<a name="transitionordertostateresult"></a>

## TransitionOrderToStateResult

\<GraphQLDoc
type="union"
typeName="TransitionOrderToStateResult"
typeLinks={{
Order: '/reference/graphql-api/admin/object-types#order',
OrderStateTransitionError: '/reference/graphql-api/admin/object-types#orderstatetransitionerror',
}}

>

{`union TransitionOrderToStateResult = Order | OrderStateTransitionError`} </GraphQLDoc>

<a name="transitionpaymenttostateresult"></a>

## TransitionPaymentToStateResult

\<GraphQLDoc
type="union"
typeName="TransitionPaymentToStateResult"
typeLinks={{
Payment: '/reference/graphql-api/admin/object-types#payment',
PaymentStateTransitionError: '/reference/graphql-api/admin/object-types#paymentstatetransitionerror',
}}

>

{`union TransitionPaymentToStateResult = Payment | PaymentStateTransitionError`} </GraphQLDoc>

<a name="updatechannelresult"></a>

## UpdateChannelResult

\<GraphQLDoc
type="union"
typeName="UpdateChannelResult"
typeLinks={{
Channel: '/reference/graphql-api/admin/object-types#channel',
LanguageNotAvailableError: '/reference/graphql-api/admin/object-types#languagenotavailableerror',
}}

>

{`union UpdateChannelResult = Channel | LanguageNotAvailableError`} </GraphQLDoc>

<a name="updatecustomerresult"></a>

## UpdateCustomerResult

\<GraphQLDoc
type="union"
typeName="UpdateCustomerResult"
typeLinks={{
Customer: '/reference/graphql-api/admin/object-types#customer',
EmailAddressConflictError: '/reference/graphql-api/admin/object-types#emailaddressconflicterror',
}}

>

{`union UpdateCustomerResult = Customer | EmailAddressConflictError`} </GraphQLDoc>

<a name="updateglobalsettingsresult"></a>

## UpdateGlobalSettingsResult

\<GraphQLDoc
type="union"
typeName="UpdateGlobalSettingsResult"
typeLinks={{
GlobalSettings: '/reference/graphql-api/admin/object-types#globalsettings',
ChannelDefaultLanguageError: '/reference/graphql-api/admin/object-types#channeldefaultlanguageerror',
}}

>

{`union UpdateGlobalSettingsResult = GlobalSettings | ChannelDefaultLanguageError`} </GraphQLDoc>

<a name="updateorderitemerrorresult"></a>

## UpdateOrderItemErrorResult

\<GraphQLDoc
type="union"
typeName="UpdateOrderItemErrorResult"
typeLinks={{
OrderModificationError: '/reference/graphql-api/admin/object-types#ordermodificationerror',
OrderLimitError: '/reference/graphql-api/admin/object-types#orderlimiterror',
NegativeQuantityError: '/reference/graphql-api/admin/object-types#negativequantityerror',
InsufficientStockError: '/reference/graphql-api/admin/object-types#insufficientstockerror',
OrderInterceptorError: '/reference/graphql-api/admin/object-types#orderinterceptorerror',
}}

>

{`"""Union type of all possible errors that can occur when adding or removing items from an Order."""
union UpdateOrderItemErrorResult = OrderModificationError | OrderLimitError | NegativeQuantityError | InsufficientStockError | OrderInterceptorError`} </GraphQLDoc>

<a name="updateorderitemsresult"></a>

## UpdateOrderItemsResult

\<GraphQLDoc
type="union"
typeName="UpdateOrderItemsResult"
typeLinks={{
Order: '/reference/graphql-api/admin/object-types#order',
OrderModificationError: '/reference/graphql-api/admin/object-types#ordermodificationerror',
OrderLimitError: '/reference/graphql-api/admin/object-types#orderlimiterror',
NegativeQuantityError: '/reference/graphql-api/admin/object-types#negativequantityerror',
InsufficientStockError: '/reference/graphql-api/admin/object-types#insufficientstockerror',
OrderInterceptorError: '/reference/graphql-api/admin/object-types#orderinterceptorerror',
}}

>

{`union UpdateOrderItemsResult = Order | OrderModificationError | OrderLimitError | NegativeQuantityError | InsufficientStockError | OrderInterceptorError`} </GraphQLDoc>

<a name="updatepromotionresult"></a>

## UpdatePromotionResult

\<GraphQLDoc
type="union"
typeName="UpdatePromotionResult"
typeLinks={{
Promotion: '/reference/graphql-api/admin/object-types#promotion',
MissingConditionsError: '/reference/graphql-api/admin/object-types#missingconditionserror',
}}

>

{`union UpdatePromotionResult = Promotion | MissingConditionsError`} </GraphQLDoc>

<a name="upload"></a>

## Upload

\<GraphQLDoc
type="scalar"
typeName="Upload"
typeLinks={{}}

>

{`scalar Upload`} </GraphQLDoc>

<a name="user"></a>

## User

\<GraphQLDoc
type="type"
typeName="User"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
String: '/reference/graphql-api/admin/object-types#string',
Boolean: '/reference/graphql-api/admin/object-types#boolean',
Role: '/reference/graphql-api/admin/object-types#role',
AuthenticationMethod: '/reference/graphql-api/admin/object-types#authenticationmethod',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type User {
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  identifier: String!
  verified: Boolean!
  roles: [Role!]!
  lastLogin: DateTime
  authenticationMethods: [AuthenticationMethod!]!
  customFields: JSON
}`} </GraphQLDoc>

<a name="zone"></a>

## Zone

\<GraphQLDoc
type="type"
typeName="Zone"
typeLinks={{
ID: '/reference/graphql-api/admin/object-types#id',
DateTime: '/reference/graphql-api/admin/object-types#datetime',
String: '/reference/graphql-api/admin/object-types#string',
Region: '/reference/graphql-api/admin/object-types#region',
JSON: '/reference/graphql-api/admin/object-types#json',
}}

>

{`type Zone {
  id: ID!
  createdAt: DateTime!
  updatedAt: DateTime!
  name: String!
  members: [Region!]!
  customFields: JSON
}`} </GraphQLDoc>

<a name="zonelist"></a>

## ZoneList

\<GraphQLDoc
type="type"
typeName="ZoneList"
typeLinks={{
Zone: '/reference/graphql-api/admin/object-types#zone',
Int: '/reference/graphql-api/admin/object-types#int',
}}

>

{`type ZoneList {
  items: [Zone!]!
  totalItems: Int!
}`} </GraphQLDoc>
