# Represents an error in the input of a mutation.
type UserError implements DisplayableError {
    # The path to the input field that caused the error.
    field: [String!]

    # The error message.
    message: String!
}

# A file error. This typically occurs when there is an issue with the file itself causing it to fail validation.
# Check the file before attempting to upload again.
type FileError {
    # Code representing the type of error.
    code: FileErrorCode!

    # Additional details regarding the error.
    details: String

    # Translated error message.
    message: String!
}

# Represents a media error. This typically occurs when there is an issue with the media itself causing it to fail validation.
# Check the media before attempting to upload again.
type MediaError {
    # Code representing the type of error.
    code: MediaErrorCode!

    # Additional details regarding the error.
    details: String

    # Translated error message.
    message: String!
}

# Represents an error that happens during execution of a Media query or mutation.
type MediaUserError implements DisplayableError {
    # The error code.
    code: MediaUserErrorCode

    # The path to the input field that caused the error.
    field: [String!]

    # The error message.
    message: String!
}

# Represents a media warning. This occurs when there is a non-blocking concern regarding your media.
# Consider reviewing your media to ensure it is correct and its parameters are as expected.
type MediaWarning {
    # The code representing the type of warning.
    code: MediaWarningCode!

    # Translated warning message.
    message: String
}

# An error that occurs during the execution of ProductChangeStatus.
type ProductChangeStatusUserError implements DisplayableError {
    # The error code.
    code: ProductChangeStatusUserErrorCode

    # The path to the input field that caused the error.
    field: [String!]

    # The error message.
    message: String!
}

# Represents a selling plan group custom error.
type SellingPlanGroupUserError implements DisplayableError {
    # The error code.
    code: SellingPlanGroupUserErrorCode

    # The path to the input field that caused the error.
    field: [String!]

    # The error message.
    message: String!
}

# Error codes for failed product variant bulk create mutations.
type ProductVariantsBulkCreateUserError implements DisplayableError {
    # The error code.
    code: ProductVariantsBulkCreateUserErrorCode

    # The path to the input field that caused the error.
    field: [String!]

    # The error message.
    message: String!
}

# Error codes for failed bulk variant delete mutations.
type ProductVariantsBulkDeleteUserError implements DisplayableError {
    # The error code.
    code: ProductVariantsBulkDeleteUserErrorCode

    # The path to the input field that caused the error.
    field: [String!]

    # The error message.
    message: String!
}

# Error codes for failed bulk product variants reorder operation.
type ProductVariantsBulkReorderUserError implements DisplayableError {
    # The error code.
    code: ProductVariantsBulkReorderUserErrorCode

    # The path to the input field that caused the error.
    field: [String!]

    # The error message.
    message: String!
}

# Error codes for failed variant bulk update mutations.
type ProductVariantsBulkUpdateUserError implements DisplayableError {
    # The error code.
    code: ProductVariantsBulkUpdateUserErrorCode

    # The path to the input field that caused the error.
    field: [String!]

    # The error message.
    message: String!
}
