diff --git a/ShopifySharp/Entities/GraphQL/GraphQLSchema.generated.cs b/ShopifySharp/Entities/GraphQL/GraphQLSchema.generated.cs index 8db18a7e7..4ba3a2ad4 100644 --- a/ShopifySharp/Entities/GraphQL/GraphQLSchema.generated.cs +++ b/ShopifySharp/Entities/GraphQL/GraphQLSchema.generated.cs @@ -111,10 +111,37 @@ public class AbandonedCheckout : GraphQLObject, INavigable, I /// public string? abandonedCheckoutUrl { get; set; } /// + ///The billing address provided by the buyer. + ///Null if the user did not provide a billing address. + /// + public MailingAddress? billingAddress { get; set; } + /// + ///The date and time when the buyer completed the checkout. + ///Null if the checkout has not been completed. + /// + public DateTime? completedAt { get; set; } + /// + ///The date and time when the checkout was created. + /// + public DateTime? createdAt { get; set; } + /// + ///A list of extra information that has been added to the checkout. + /// + public IEnumerable? customAttributes { get; set; } + /// + ///The customer who created this checkout. + ///May be null if the checkout was created from a draft order or via an app. + /// + public Customer? customer { get; set; } + /// ///A default [cursor](https://shopify.dev/api/usage/pagination-graphql) that returns the single next record, sorted ascending by ID. /// public string? defaultCursor { get; set; } /// + ///The discount codes entered by the buyer at checkout. + /// + public IEnumerable? discountCodes { get; set; } + /// ///A globally-unique ID. /// public string? id { get; set; } @@ -129,9 +156,88 @@ public class AbandonedCheckout : GraphQLObject, INavigable, I [Obsolete("Use [AbandonedCheckoutLineItem.quantity](https://shopify.dev/api/admin-graphql/unstable/objects/AbandonedCheckoutLineItem#field-quantity) instead.")] public int? lineItemsQuantity { get; set; } /// + ///Unique merchant-facing identifier for the checkout. + /// + public string? name { get; set; } + /// + ///A merchant-facing note added to the checkout. Not visible to the buyer. + /// + public string? note { get; set; } + /// + ///The shipping address to where the line items will be shipped. + ///Null if the user did not provide a shipping address. + /// + public MailingAddress? shippingAddress { get; set; } + /// + ///The sum of all items in the checkout, including discounts but excluding shipping, taxes and tips. + /// + public MoneyBag? subtotalPriceSet { get; set; } + /// + ///Individual taxes charged on the checkout. + /// + public IEnumerable? taxLines { get; set; } + /// + ///Whether taxes are included in line item and shipping line prices. + /// + public bool? taxesIncluded { get; set; } + /// + ///The total amount of discounts to be applied. + /// + public MoneyBag? totalDiscountSet { get; set; } + /// + ///The total duties applied to the checkout. + /// + public MoneyBag? totalDutiesSet { get; set; } + /// + ///The sum of the prices of all line items in the checkout. + /// + public MoneyBag? totalLineItemsPriceSet { get; set; } + /// ///The sum of all items in the checkout, including discounts, shipping, taxes, and tips. /// public MoneyBag? totalPriceSet { get; set; } + /// + ///The total tax applied to the checkout. + /// + public MoneyBag? totalTaxSet { get; set; } + /// + ///The date and time when the checkout was most recently updated. + /// + public DateTime? updatedAt { get; set; } + } + + /// + ///An auto-generated type for paginating through multiple AbandonedCheckouts. + /// + public class AbandonedCheckoutConnection : GraphQLObject, IConnectionWithNodesAndEdges + { + /// + ///The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. + /// + public IEnumerable? edges { get; set; } + /// + ///A list of nodes that are contained in AbandonedCheckoutEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. + /// + public IEnumerable? nodes { get; set; } + /// + ///An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. + /// + public PageInfo? pageInfo { get; set; } + } + + /// + ///An auto-generated type which holds one AbandonedCheckout and a cursor during pagination. + /// + public class AbandonedCheckoutEdge : GraphQLObject, IEdge + { + /// + ///The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). + /// + public string? cursor { get; set; } + /// + ///The item at the end of AbandonedCheckoutEdge. + /// + public AbandonedCheckout? node { get; set; } } /// @@ -144,6 +250,10 @@ public class AbandonedCheckoutLineItem : GraphQLObject public IEnumerable? customAttributes { get; set; } /// + ///Discount allocations that have been applied on the line item. + /// + public DiscountAllocationConnection? discountAllocations { get; set; } + /// ///Final total price for the entire quantity of this line item, including discounts. /// public MoneyBag? discountedTotalPriceSet { get; set; } @@ -239,6 +349,38 @@ public class AbandonedCheckoutLineItemEdge : GraphQLObject + ///The set of valid sort keys for the AbandonedCartGraphQL query. + /// + public enum AbandonedCheckoutSortKeys + { + /// + ///Sort by the `checkout_id` value. + /// + CHECKOUT_ID, + /// + ///Sort by the `created_at` value. + /// + CREATED_AT, + /// + ///Sort by the `customer_name` value. + /// + CUSTOMER_NAME, + /// + ///Sort by the `total_price` value. + /// + TOTAL_PRICE, + /// + ///Sort by the `id` value. + /// + ID, + /// + ///Sort by relevance to the search terms when the `query` parameter is specified on the connection. + ///Don't use this sort key when no search query is specified. + /// + RELEVANCE, + } + /// ///A browse, cart, or checkout that was abandoned by a customer. /// @@ -520,6 +662,45 @@ public class AccessScope : GraphQLObject public string? handle { get; set; } } + /// + ///Possible account types that a staff member can have. + /// + public enum AccountType + { + /// + ///The account can access the Shopify admin. + /// + REGULAR, + /// + ///The account cannot access the Shopify admin. + /// + RESTRICTED, + /// + ///The user has not yet accepted the invitation to create an account. + /// + INVITED, + /// + ///The admin has not yet accepted the request to create a collaborator account. + /// + REQUESTED, + /// + ///The account of a partner who collaborates with the merchant. + /// + COLLABORATOR, + /// + ///The account of a partner collaborator team member. + /// + COLLABORATOR_TEAM_MEMBER, + /// + ///The account can be signed into via a SAML provider. + /// + SAML, + /// + ///The user has not yet accepted the invitation to become the store owner. + /// + INVITED_STORE_OWNER, + } + /// ///Represents an operation publishing all products to a publication. /// @@ -827,6 +1008,10 @@ public class App : GraphQLObject, INode [Obsolete("Use AppInstallation.navigationItems instead")] public IEnumerable? navigationItems { get; set; } /// + ///The optional scopes requested by the app. Lists the optional access scopes the app has declared in its configuration. These scopes are optionally requested by the app after installation. + /// + public IEnumerable? optionalAccessScopes { get; set; } + /// ///Whether the app was previously installed on the current shop. /// public bool? previouslyInstalled { get; set; } @@ -1087,6 +1272,10 @@ public class AppFeedback : GraphQLObject /// public App? app { get; set; } /// + ///The date and time when the app feedback was generated. + /// + public DateTime? feedbackGeneratedAt { get; set; } + /// ///A link to where merchants can resolve errors. /// public Link? link { get; set; } @@ -1094,6 +1283,10 @@ public class AppFeedback : GraphQLObject ///The feedback message presented to the merchant. /// public IEnumerable? messages { get; set; } + /// + ///Conveys the state of the feedback and whether it requires merchant action or not. + /// + public ResourceFeedbackState? state { get; set; } } /// @@ -1619,6 +1812,75 @@ public enum AppRevenueAttributionType OTHER, } + /// + ///Represents an error that happens while revoking a granted scope. + /// + public class AppRevokeAccessScopesAppRevokeScopeError : GraphQLObject, IDisplayableError + { + /// + ///The error code. + /// + public AppRevokeAccessScopesAppRevokeScopeErrorCode? code { get; set; } + /// + ///The path to the input field that caused the error. + /// + public IEnumerable? field { get; set; } + /// + ///The error message. + /// + public string? message { get; set; } + } + + /// + ///Possible error codes that can be returned by `AppRevokeAccessScopesAppRevokeScopeError`. + /// + public enum AppRevokeAccessScopesAppRevokeScopeErrorCode + { + /// + ///No app found on the access token. + /// + MISSING_SOURCE_APP, + /// + ///The application cannot be found. + /// + APPLICATION_CANNOT_BE_FOUND, + /// + ///The requested list of scopes to revoke includes invalid handles. + /// + UNKNOWN_SCOPES, + /// + ///Required scopes cannot be revoked. + /// + CANNOT_REVOKE_REQUIRED_SCOPES, + /// + ///Already granted implied scopes cannot be revoked. + /// + CANNOT_REVOKE_IMPLIED_SCOPES, + /// + ///Cannot revoke optional scopes that haven't been declared. + /// + CANNOT_REVOKE_UNDECLARED_SCOPES, + /// + ///App is not installed on shop. + /// + APP_NOT_INSTALLED, + } + + /// + ///Return type for `appRevokeAccessScopes` mutation. + /// + public class AppRevokeAccessScopesPayload : GraphQLObject + { + /// + ///The list of scope handles that have been revoked. + /// + public IEnumerable? revoked { get; set; } + /// + ///The list of errors that occurred from executing the mutation. + /// + public IEnumerable? userErrors { get; set; } + } + /// ///Provides users access to services and/or features for a duration of time. /// @@ -2137,6 +2399,430 @@ public class AppleApplication : GraphQLObject, IMobilePlatform public bool? universalLinksEnabled { get; set; } } + /// + ///An article in the blogging system. + /// + public class Article : GraphQLObject
, IHasEvents, IHasMetafieldDefinitions, IHasMetafields, IHasPublishedTranslations, INavigable, INode, IMetafieldReferencer + { + /// + ///The name of the author of the article. + /// + public ArticleAuthor? author { get; set; } + /// + ///The blog containing the article. + /// + public Blog? blog { get; set; } + /// + ///The text of the article's body, complete with HTML markup. + /// + public string? body { get; set; } + /// + ///List of the article's comments. + /// + public CommentConnection? comments { get; set; } + /// + ///Count of comments. + /// + public Count? commentsCount { get; set; } + /// + ///The date and time (ISO 8601 format) when the article was created. + /// + public DateTime? createdAt { get; set; } + /// + ///A default [cursor](https://shopify.dev/api/usage/pagination-graphql) that returns the single next record, sorted ascending by ID. + /// + public string? defaultCursor { get; set; } + /// + ///The paginated list of events associated with the host subject. + /// + public EventConnection? events { get; set; } + /// + ///A unique, human-friendly string for the article that's automatically generated from the article's title. + ///The handle is used in the article's URL. + /// + public string? handle { get; set; } + /// + ///A globally-unique ID. + /// + public string? id { get; set; } + /// + ///The image associated with the article. + /// + public Image? image { get; set; } + /// + ///Whether or not the article is visible. + /// + public bool? isPublished { get; set; } + /// + ///A [custom field](https://shopify.dev/docs/apps/build/custom-data), + ///including its `namespace` and `key`, that's associated with a Shopify resource + ///for the purposes of adding and storing additional information. + /// + public Metafield? metafield { get; set; } + + /// + ///List of metafield definitions. + /// + [Obsolete("This field will be removed in a future version. Use the root `metafieldDefinitions` field instead.")] + public MetafieldDefinitionConnection? metafieldDefinitions { get; set; } + /// + ///A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data) + ///that a merchant associates with a Shopify resource. + /// + public MetafieldConnection? metafields { get; set; } + + /// + ///Returns a private metafield by namespace and key that belongs to the resource. + /// + [Obsolete("Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).")] + public PrivateMetafield? privateMetafield { get; set; } + + /// + ///List of private metafields that belong to the resource. + /// + [Obsolete("Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).")] + public PrivateMetafieldConnection? privateMetafields { get; set; } + /// + ///The date and time (ISO 8601 format) when the article became or will become visible. + ///Returns null when the article isn't visible. + /// + public DateTime? publishedAt { get; set; } + /// + ///A summary of the article, which can include HTML markup. + ///The summary is used by the online store theme to display the article on other pages, such as the home page or the main blog page. + /// + public string? summary { get; set; } + /// + ///A comma-separated list of tags. + ///Tags are additional short descriptors formatted as a string of comma-separated values. + /// + public IEnumerable? tags { get; set; } + /// + ///The name of the template an article is using if it's using an alternate template. + ///If an article is using the default `article.liquid` template, then the value returned is `null`. + /// + public string? templateSuffix { get; set; } + /// + ///The title of the article. + /// + public string? title { get; set; } + /// + ///The published translations associated with the resource. + /// + public IEnumerable? translations { get; set; } + /// + ///The date and time (ISO 8601 format) when the article was last updated. + /// + public DateTime? updatedAt { get; set; } + } + + /// + ///Represents an article author in an Article. + /// + public class ArticleAuthor : GraphQLObject + { + /// + ///The author's full name. + /// + public string? name { get; set; } + } + + /// + ///An auto-generated type for paginating through multiple Articles. + /// + public class ArticleConnection : GraphQLObject, IConnectionWithNodesAndEdges + { + /// + ///The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. + /// + public IEnumerable? edges { get; set; } + /// + ///A list of nodes that are contained in ArticleEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. + /// + public IEnumerable
? nodes { get; set; } + /// + ///An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. + /// + public PageInfo? pageInfo { get; set; } + } + + /// + ///Return type for `articleCreate` mutation. + /// + public class ArticleCreatePayload : GraphQLObject + { + /// + ///The article that was created. + /// + public Article? article { get; set; } + /// + ///The list of errors that occurred from executing the mutation. + /// + public IEnumerable? userErrors { get; set; } + } + + /// + ///An error that occurs during the execution of `ArticleCreate`. + /// + public class ArticleCreateUserError : GraphQLObject, IDisplayableError + { + /// + ///The error code. + /// + public ArticleCreateUserErrorCode? code { get; set; } + /// + ///The path to the input field that caused the error. + /// + public IEnumerable? field { get; set; } + /// + ///The error message. + /// + public string? message { get; set; } + } + + /// + ///Possible error codes that can be returned by `ArticleCreateUserError`. + /// + public enum ArticleCreateUserErrorCode + { + /// + ///Can't create an article author if both author name and user ID are supplied. + /// + AMBIGUOUS_AUTHOR, + /// + ///Can't create a blog from input if a blog ID is supplied. + /// + AMBIGUOUS_BLOG, + /// + ///Can't create an article if both author name and user ID are blank. + /// + AUTHOR_FIELD_REQUIRED, + /// + ///User must exist if a user ID is supplied. + /// + AUTHOR_MUST_EXIST, + /// + ///Can’t set isPublished to true and also set a future publish date. + /// + INVALID_PUBLISH_DATE, + /// + ///Must reference or create a blog when creating an article. + /// + BLOG_REFERENCE_REQUIRED, + /// + ///Image upload failed. + /// + UPLOAD_FAILED, + /// + ///The record with the ID used as the input value couldn't be found. + /// + NOT_FOUND, + /// + ///The input value is too long. + /// + TOO_LONG, + /// + ///The input value is already taken. + /// + TAKEN, + /// + ///The value is invalid for the metafield type or for the definition options. + /// + INVALID_VALUE, + /// + ///The metafield type is invalid. + /// + INVALID_TYPE, + } + + /// + ///Return type for `articleDelete` mutation. + /// + public class ArticleDeletePayload : GraphQLObject + { + /// + ///The ID of the deleted article. + /// + public string? deletedArticleId { get; set; } + /// + ///The list of errors that occurred from executing the mutation. + /// + public IEnumerable? userErrors { get; set; } + } + + /// + ///An error that occurs during the execution of `ArticleDelete`. + /// + public class ArticleDeleteUserError : GraphQLObject, IDisplayableError + { + /// + ///The error code. + /// + public ArticleDeleteUserErrorCode? code { get; set; } + /// + ///The path to the input field that caused the error. + /// + public IEnumerable? field { get; set; } + /// + ///The error message. + /// + public string? message { get; set; } + } + + /// + ///Possible error codes that can be returned by `ArticleDeleteUserError`. + /// + public enum ArticleDeleteUserErrorCode + { + /// + ///The record with the ID used as the input value couldn't be found. + /// + NOT_FOUND, + } + + /// + ///An auto-generated type which holds one Article and a cursor during pagination. + /// + public class ArticleEdge : GraphQLObject, IEdge
+ { + /// + ///The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). + /// + public string? cursor { get; set; } + /// + ///The item at the end of ArticleEdge. + /// + public Article? node { get; set; } + } + + /// + ///The set of valid sort keys for the Article query. + /// + public enum ArticleSortKeys + { + /// + ///Sort by the `title` value. + /// + TITLE, + /// + ///Sort by the `blog_title` value. + /// + BLOG_TITLE, + /// + ///Sort by the `author` value. + /// + AUTHOR, + /// + ///Sort by the `updated_at` value. + /// + UPDATED_AT, + /// + ///Sort by the `published_at` value. + /// + PUBLISHED_AT, + /// + ///Sort by the `id` value. + /// + ID, + /// + ///Sort by relevance to the search terms when the `query` parameter is specified on the connection. + ///Don't use this sort key when no search query is specified. + /// + RELEVANCE, + } + + /// + ///Possible sort of tags. + /// + public enum ArticleTagSort + { + /// + ///Sort alphabetically.. + /// + ALPHABETICAL, + /// + ///Sort by popularity, starting with the most popular tag. + /// + POPULAR, + } + + /// + ///Return type for `articleUpdate` mutation. + /// + public class ArticleUpdatePayload : GraphQLObject + { + /// + ///The article that was updated. + /// + public Article? article { get; set; } + /// + ///The list of errors that occurred from executing the mutation. + /// + public IEnumerable? userErrors { get; set; } + } + + /// + ///An error that occurs during the execution of `ArticleUpdate`. + /// + public class ArticleUpdateUserError : GraphQLObject, IDisplayableError + { + /// + ///The error code. + /// + public ArticleUpdateUserErrorCode? code { get; set; } + /// + ///The path to the input field that caused the error. + /// + public IEnumerable? field { get; set; } + /// + ///The error message. + /// + public string? message { get; set; } + } + + /// + ///Possible error codes that can be returned by `ArticleUpdateUserError`. + /// + public enum ArticleUpdateUserErrorCode + { + /// + ///Can't update an article author if both author name and user ID are supplied. + /// + AMBIGUOUS_AUTHOR, + /// + ///Can't create a blog from input if a blog ID is supplied. + /// + AMBIGUOUS_BLOG, + /// + ///User must exist if a user ID is supplied. + /// + AUTHOR_MUST_EXIST, + /// + ///Can’t set isPublished to true and also set a future publish date. + /// + INVALID_PUBLISH_DATE, + /// + ///Image upload failed. + /// + UPLOAD_FAILED, + /// + ///The input value is blank. + /// + BLANK, + /// + ///The record with the ID used as the input value couldn't be found. + /// + NOT_FOUND, + /// + ///The input value is too long. + /// + TOO_LONG, + /// + ///The input value is already taken. + /// + TAKEN, + } + /// ///Represents a generic custom attribute, such as whether an order is a customer's first. /// @@ -2303,10 +2989,12 @@ public enum BalanceTransactionSortKeys ///
[JsonPolymorphic(TypeDiscriminatorPropertyName = "__typename")] [JsonDerivedType(typeof(CardPaymentDetails), typeDiscriminator: "CardPaymentDetails")] + [JsonDerivedType(typeof(LocalPaymentMethodsPaymentDetails), typeDiscriminator: "LocalPaymentMethodsPaymentDetails")] [JsonDerivedType(typeof(ShopPayInstallmentsPaymentDetails), typeDiscriminator: "ShopPayInstallmentsPaymentDetails")] public interface IBasePaymentDetails : IGraphQLObject { public CardPaymentDetails? AsCardPaymentDetails() => this as CardPaymentDetails; + public LocalPaymentMethodsPaymentDetails? AsLocalPaymentMethodsPaymentDetails() => this as LocalPaymentMethodsPaymentDetails; public ShopPayInstallmentsPaymentDetails? AsShopPayInstallmentsPaymentDetails() => this as ShopPayInstallmentsPaymentDetails; /// ///The name of payment method used by the buyer. @@ -2372,11 +3060,27 @@ public interface IBasePaymentDetails : IGraphQLObject /// public class BasicEvent : GraphQLObject, IEvent, INode { + /// + ///The action that occured. + /// + public string? action { get; set; } + /// + ///Provides additional content for collapsible timeline events. + /// + public string? additionalContent { get; set; } + /// + ///Provides additional data for event consumers. + /// + public string? additionalData { get; set; } /// ///The name of the app that created the event. /// public string? appTitle { get; set; } /// + ///Refers to a certain event and its resources. + /// + public string? arguments { get; set; } + /// ///Whether the event was created by an app. /// public bool? attributeToApp { get; set; } @@ -2393,6 +3097,10 @@ public class BasicEvent : GraphQLObject, IEvent, INode /// public bool? criticalAlert { get; set; } /// + ///Whether this event has additional content. + /// + public bool? hasAdditionalContent { get; set; } + /// ///A globally-unique ID. /// public string? id { get; set; } @@ -2400,6 +3108,23 @@ public class BasicEvent : GraphQLObject, IEvent, INode ///Human readable text that describes the event. /// public string? message { get; set; } + /// + ///Human readable text that supports the event message. + /// + public string? secondaryMessage { get; set; } + /// + ///The resource that generated the event. To see a list of possible types, + ///refer to [HasEvents](https://shopify.dev/docs/api/admin-graphql/unstable/interfaces/HasEvents#implemented-in). + /// + public IHasEvents? subject { get; set; } + /// + ///The ID of the resource that generated the event. + /// + public string? subjectId { get; set; } + /// + ///The type of the resource that generated the event. + /// + public EventSubjectType? subjectType { get; set; } } /// @@ -2480,6 +3205,337 @@ public enum BillingAttemptUserErrorCode CONTRACT_PAUSED, } + /// + ///Shopify stores come with a built-in blogging engine, allowing a shop to have one or more blogs. Blogs are meant + ///to be used as a type of magazine or newsletter for the shop, with content that changes over time. + /// + public class Blog : GraphQLObject, IHasEvents, IHasMetafieldDefinitions, IHasMetafields, IHasPublishedTranslations, INode, IMetafieldReferencer + { + /// + ///List of the blog's articles. + /// + public ArticleConnection? articles { get; set; } + /// + ///Count of articles. + /// + public Count? articlesCount { get; set; } + /// + ///Indicates whether readers can post comments to the blog and if comments are moderated or not. + /// + public CommentPolicy? commentPolicy { get; set; } + /// + ///The date and time when the blog was created. + /// + public DateTime? createdAt { get; set; } + /// + ///The paginated list of events associated with the host subject. + /// + public EventConnection? events { get; set; } + /// + ///FeedBurner provider details. Any blogs that aren't already integrated with FeedBurner can't use the service. + /// + public BlogFeed? feed { get; set; } + /// + ///A unique, human-friendly string for the blog. If no handle is specified, a handle will be generated automatically from the blog title. + ///The handle is customizable and is used by the Liquid templating language to refer to the blog. + /// + public string? handle { get; set; } + /// + ///A globally-unique ID. + /// + public string? id { get; set; } + /// + ///A [custom field](https://shopify.dev/docs/apps/build/custom-data), + ///including its `namespace` and `key`, that's associated with a Shopify resource + ///for the purposes of adding and storing additional information. + /// + public Metafield? metafield { get; set; } + + /// + ///List of metafield definitions. + /// + [Obsolete("This field will be removed in a future version. Use the root `metafieldDefinitions` field instead.")] + public MetafieldDefinitionConnection? metafieldDefinitions { get; set; } + /// + ///A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data) + ///that a merchant associates with a Shopify resource. + /// + public MetafieldConnection? metafields { get; set; } + + /// + ///Returns a private metafield by namespace and key that belongs to the resource. + /// + [Obsolete("Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).")] + public PrivateMetafield? privateMetafield { get; set; } + + /// + ///List of private metafields that belong to the resource. + /// + [Obsolete("Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).")] + public PrivateMetafieldConnection? privateMetafields { get; set; } + /// + ///A list of tags associated with the 200 most recent blog articles. + /// + public IEnumerable? tags { get; set; } + /// + ///The name of the template a blog is using if it's using an alternate template. + ///Returns `null` if a blog is using the default blog.liquid template. + /// + public string? templateSuffix { get; set; } + /// + ///The title of the blog. + /// + public string? title { get; set; } + /// + ///The published translations associated with the resource. + /// + public IEnumerable? translations { get; set; } + /// + ///The date and time when the blog was update. + /// + public DateTime? updatedAt { get; set; } + } + + /// + ///An auto-generated type for paginating through multiple Blogs. + /// + public class BlogConnection : GraphQLObject, IConnectionWithNodesAndEdges + { + /// + ///The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. + /// + public IEnumerable? edges { get; set; } + /// + ///A list of nodes that are contained in BlogEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. + /// + public IEnumerable? nodes { get; set; } + /// + ///An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. + /// + public PageInfo? pageInfo { get; set; } + } + + /// + ///Return type for `blogCreate` mutation. + /// + public class BlogCreatePayload : GraphQLObject + { + /// + ///The blog that was created. + /// + public Blog? blog { get; set; } + /// + ///The list of errors that occurred from executing the mutation. + /// + public IEnumerable? userErrors { get; set; } + } + + /// + ///An error that occurs during the execution of `BlogCreate`. + /// + public class BlogCreateUserError : GraphQLObject, IDisplayableError + { + /// + ///The error code. + /// + public BlogCreateUserErrorCode? code { get; set; } + /// + ///The path to the input field that caused the error. + /// + public IEnumerable? field { get; set; } + /// + ///The error message. + /// + public string? message { get; set; } + } + + /// + ///Possible error codes that can be returned by `BlogCreateUserError`. + /// + public enum BlogCreateUserErrorCode + { + /// + ///The input value is invalid. + /// + INVALID, + /// + ///The input value is too long. + /// + TOO_LONG, + /// + ///The input value isn't included in the list. + /// + INCLUSION, + /// + ///The value is invalid for the metafield type or for the definition options. + /// + INVALID_VALUE, + /// + ///The metafield type is invalid. + /// + INVALID_TYPE, + } + + /// + ///Return type for `blogDelete` mutation. + /// + public class BlogDeletePayload : GraphQLObject + { + /// + ///The ID of the deleted blog. + /// + public string? deletedBlogId { get; set; } + /// + ///The list of errors that occurred from executing the mutation. + /// + public IEnumerable? userErrors { get; set; } + } + + /// + ///An error that occurs during the execution of `BlogDelete`. + /// + public class BlogDeleteUserError : GraphQLObject, IDisplayableError + { + /// + ///The error code. + /// + public BlogDeleteUserErrorCode? code { get; set; } + /// + ///The path to the input field that caused the error. + /// + public IEnumerable? field { get; set; } + /// + ///The error message. + /// + public string? message { get; set; } + } + + /// + ///Possible error codes that can be returned by `BlogDeleteUserError`. + /// + public enum BlogDeleteUserErrorCode + { + /// + ///The record with the ID used as the input value couldn't be found. + /// + NOT_FOUND, + } + + /// + ///An auto-generated type which holds one Blog and a cursor during pagination. + /// + public class BlogEdge : GraphQLObject, IEdge + { + /// + ///The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). + /// + public string? cursor { get; set; } + /// + ///The item at the end of BlogEdge. + /// + public Blog? node { get; set; } + } + + /// + ///FeedBurner provider details. Any blogs that aren't already integrated with FeedBurner can't use the service. + /// + public class BlogFeed : GraphQLObject + { + /// + ///Blog feed provider url. + /// + public string? location { get; set; } + /// + ///Blog feed provider path. + /// + public string? path { get; set; } + } + + /// + ///The set of valid sort keys for the Blog query. + /// + public enum BlogSortKeys + { + /// + ///Sort by the `handle` value. + /// + HANDLE, + /// + ///Sort by the `title` value. + /// + TITLE, + /// + ///Sort by the `id` value. + /// + ID, + /// + ///Sort by relevance to the search terms when the `query` parameter is specified on the connection. + ///Don't use this sort key when no search query is specified. + /// + RELEVANCE, + } + + /// + ///Return type for `blogUpdate` mutation. + /// + public class BlogUpdatePayload : GraphQLObject + { + /// + ///The blog that was updated. + /// + public Blog? blog { get; set; } + /// + ///The list of errors that occurred from executing the mutation. + /// + public IEnumerable? userErrors { get; set; } + } + + /// + ///An error that occurs during the execution of `BlogUpdate`. + /// + public class BlogUpdateUserError : GraphQLObject, IDisplayableError + { + /// + ///The error code. + /// + public BlogUpdateUserErrorCode? code { get; set; } + /// + ///The path to the input field that caused the error. + /// + public IEnumerable? field { get; set; } + /// + ///The error message. + /// + public string? message { get; set; } + } + + /// + ///Possible error codes that can be returned by `BlogUpdateUserError`. + /// + public enum BlogUpdateUserErrorCode + { + /// + ///The record with the ID used as the input value couldn't be found. + /// + NOT_FOUND, + /// + ///The input value is invalid. + /// + INVALID, + /// + ///The input value is blank. + /// + BLANK, + /// + ///The input value is too long. + /// + TOO_LONG, + /// + ///The input value isn't included in the list. + /// + INCLUSION, + } + /// ///Possible error codes that can be returned by `BulkMutationUserError`. /// @@ -2875,6 +3931,68 @@ public class BusinessCustomerUserError : GraphQLObject + ///Represents a merchant's Business Entity. + /// + public class BusinessEntity : GraphQLObject, INode + { + /// + ///The address of the merchant's Business Entity. + /// + public BusinessEntityAddress? address { get; set; } + /// + ///The name of the company associated with the merchant's Business Entity. + /// + public string? companyName { get; set; } + /// + ///The display name of the merchant's Business Entity. + /// + public string? displayName { get; set; } + /// + ///A globally-unique ID. + /// + public string? id { get; set; } + /// + ///Whether it's the merchant's primary Business Entity. + /// + public bool? primary { get; set; } + /// + ///Shopify Payments account information, including balances and payouts. + /// + public ShopifyPaymentsAccount? shopifyPaymentsAccount { get; set; } + } + + /// + ///Represents the address of a merchant's Business Entity. + /// + public class BusinessEntityAddress : GraphQLObject + { + /// + ///The first line of the address. Typically the street address or PO Box number. + /// + public string? address1 { get; set; } + /// + ///The second line of the address. Typically the number of the apartment, suite, or unit. + /// + public string? address2 { get; set; } + /// + ///The name of the city, district, village, or town. + /// + public string? city { get; set; } + /// + ///The country code of the merchant's Business Entity. + /// + public CountryCode? countryCode { get; set; } + /// + ///The region of the address, such as the province, state, or district. + /// + public string? province { get; set; } + /// + ///The zip or postal code of the address. + /// + public string? zip { get; set; } + } + /// ///Settings describing the behavior of checkout for a B2B buyer. /// @@ -2885,6 +4003,10 @@ public class BuyerExperienceConfiguration : GraphQLObject public bool? checkoutToDraft { get; set; } /// + ///The portion required to be paid at checkout. + /// + public IDepositConfiguration? deposit { get; set; } + /// ///Whether to allow customers to use editable shipping addresses. /// public bool? editableShippingAddress { get; set; } @@ -4153,6 +5275,10 @@ public enum CartTransformCreateUserErrorCode ///Function does not implement the required interface for this cart_transform function. /// FUNCTION_DOES_NOT_IMPLEMENT, + /// + ///Could not create or update metafields. + /// + INVALID_METAFIELDS, } /// @@ -4249,6 +5375,21 @@ public class CartTransformFeature : GraphQLObject public CartTransformEligibleOperations? eligibleOperations { get; set; } } + /// + ///The rounding adjustment applied to total payment or refund received for an Order involving cash payments. + /// + public class CashRoundingAdjustment : GraphQLObject + { + /// + ///The rounding adjustment that can be applied to totalReceived for an Order involving cash payments in shop and presentment currencies. Could be a positive or negative value. Value is 0 if there's no rounding, or for non-cash payments. + /// + public MoneyBag? paymentSet { get; set; } + /// + ///The rounding adjustment that can be applied to totalRefunded for an Order involving cash payments in shop and presentment currencies. Could be a positive or negative value. Value is 0 if there's no rounding, or for non-cash refunds. + /// + public MoneyBag? refundSet { get; set; } + } + /// ///Tracks an adjustment to the cash in a cash tracking session for a point of sale device over the course of a shift. /// @@ -6816,7 +7957,7 @@ public enum CodeDiscountSortKeys /// ///Collections can also be created for a custom group of products. These are called custom or manual collections. /// - public class Collection : GraphQLObject, IHasMetafieldDefinitions, IHasMetafields, IHasPublishedTranslations, INode, IPublishable, IMetafieldReference, IMetafieldReferencer + public class Collection : GraphQLObject, IHasEvents, IHasMetafieldDefinitions, IHasMetafields, IHasPublishedTranslations, INode, IPublishable, IMetafieldReference, IMetafieldReferencer { /// ///The number of @@ -6834,6 +7975,10 @@ public class Collection : GraphQLObject, IHasMetafieldDefinitions, I /// public string? descriptionHtml { get; set; } /// + ///The paginated list of events associated with the host subject. + /// + public EventConnection? events { get; set; } + /// ///Information about the collection that's provided through resource feedback. /// public ResourceFeedback? feedback { get; set; } @@ -7274,6 +8419,17 @@ public class CollectionRule : GraphQLObject public CollectionRuleRelation? relation { get; set; } } + /// + ///Specifies the taxonomy category to used for the condition. + /// + public class CollectionRuleCategoryCondition : GraphQLObject, ICollectionRuleConditionObject + { + /// + ///The taxonomy category used as condition. + /// + public TaxonomyCategory? value { get; set; } + } + /// ///Specifies the attribute of a product being used to populate the smart collection. /// @@ -7296,6 +8452,10 @@ public enum CollectionRuleColumn /// PRODUCT_TAXONOMY_NODE_ID, /// + ///The [`product_category_id`](https://shopify.dev/api/admin-graphql/latest/objects/Product#field-category) attribute. + /// + PRODUCT_CATEGORY_ID, + /// ///The [`vendor`](https://shopify.dev/api/admin-graphql/latest/objects/Product#field-product-vendor) attribute. /// VENDOR, @@ -7339,11 +8499,13 @@ public enum CollectionRuleColumn ///Specifies object for the condition of the rule. /// [JsonPolymorphic(TypeDiscriminatorPropertyName = "__typename")] + [JsonDerivedType(typeof(CollectionRuleCategoryCondition), typeDiscriminator: "CollectionRuleCategoryCondition")] [JsonDerivedType(typeof(CollectionRuleMetafieldCondition), typeDiscriminator: "CollectionRuleMetafieldCondition")] [JsonDerivedType(typeof(CollectionRuleProductCategoryCondition), typeDiscriminator: "CollectionRuleProductCategoryCondition")] [JsonDerivedType(typeof(CollectionRuleTextCondition), typeDiscriminator: "CollectionRuleTextCondition")] public interface ICollectionRuleConditionObject : IGraphQLObject { + public CollectionRuleCategoryCondition? AsCollectionRuleCategoryCondition() => this as CollectionRuleCategoryCondition; public CollectionRuleMetafieldCondition? AsCollectionRuleMetafieldCondition() => this as CollectionRuleMetafieldCondition; public CollectionRuleProductCategoryCondition? AsCollectionRuleProductCategoryCondition() => this as CollectionRuleProductCategoryCondition; public CollectionRuleTextCondition? AsCollectionRuleTextCondition() => this as CollectionRuleTextCondition; @@ -7816,12 +8978,214 @@ public enum CombinedListingsRole CHILD, } + /// + ///A comment on an article. + /// + public class Comment : GraphQLObject, IHasEvents, INode + { + /// + ///The article associated with the comment. + /// + public Article? article { get; set; } + /// + ///The comment’s author. + /// + public CommentAuthor? author { get; set; } + /// + ///The content of the comment. + /// + public string? body { get; set; } + /// + ///The content of the comment, complete with HTML formatting. + /// + public string? bodyHtml { get; set; } + /// + ///The date and time when the comment was created. + /// + public DateTime? createdAt { get; set; } + /// + ///The paginated list of events associated with the host subject. + /// + public EventConnection? events { get; set; } + /// + ///A globally-unique ID. + /// + public string? id { get; set; } + /// + ///The IP address of the commenter. + /// + public string? ip { get; set; } + /// + ///Whether or not the comment is published. + /// + public bool? isPublished { get; set; } + /// + ///The date and time when the comment was published. + /// + public DateTime? publishedAt { get; set; } + /// + ///The status of the comment. + /// + public CommentStatus? status { get; set; } + /// + ///The date and time when the comment was last updated. + /// + public DateTime? updatedAt { get; set; } + /// + ///The user agent of the commenter. + /// + public string? userAgent { get; set; } + } + + /// + ///Return type for `commentApprove` mutation. + /// + public class CommentApprovePayload : GraphQLObject + { + /// + ///The comment that was approved. + /// + public Comment? comment { get; set; } + /// + ///The list of errors that occurred from executing the mutation. + /// + public IEnumerable? userErrors { get; set; } + } + + /// + ///An error that occurs during the execution of `CommentApprove`. + /// + public class CommentApproveUserError : GraphQLObject, IDisplayableError + { + /// + ///The error code. + /// + public CommentApproveUserErrorCode? code { get; set; } + /// + ///The path to the input field that caused the error. + /// + public IEnumerable? field { get; set; } + /// + ///The error message. + /// + public string? message { get; set; } + } + + /// + ///Possible error codes that can be returned by `CommentApproveUserError`. + /// + public enum CommentApproveUserErrorCode + { + /// + ///The record with the ID used as the input value couldn't be found. + /// + NOT_FOUND, + } + + /// + ///The author of a comment. + /// + public class CommentAuthor : GraphQLObject + { + /// + ///The author's email. + /// + public string? email { get; set; } + /// + ///The author’s name. + /// + public string? name { get; set; } + } + + /// + ///An auto-generated type for paginating through multiple Comments. + /// + public class CommentConnection : GraphQLObject, IConnectionWithNodesAndEdges + { + /// + ///The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. + /// + public IEnumerable? edges { get; set; } + /// + ///A list of nodes that are contained in CommentEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. + /// + public IEnumerable? nodes { get; set; } + /// + ///An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. + /// + public PageInfo? pageInfo { get; set; } + } + + /// + ///Return type for `commentDelete` mutation. + /// + public class CommentDeletePayload : GraphQLObject + { + /// + ///The ID of the comment that was deleted. + /// + public string? deletedCommentId { get; set; } + /// + ///The list of errors that occurred from executing the mutation. + /// + public IEnumerable? userErrors { get; set; } + } + + /// + ///An error that occurs during the execution of `CommentDelete`. + /// + public class CommentDeleteUserError : GraphQLObject, IDisplayableError + { + /// + ///The error code. + /// + public CommentDeleteUserErrorCode? code { get; set; } + /// + ///The path to the input field that caused the error. + /// + public IEnumerable? field { get; set; } + /// + ///The error message. + /// + public string? message { get; set; } + } + + /// + ///Possible error codes that can be returned by `CommentDeleteUserError`. + /// + public enum CommentDeleteUserErrorCode + { + /// + ///The record with the ID used as the input value couldn't be found. + /// + NOT_FOUND, + } + + /// + ///An auto-generated type which holds one Comment and a cursor during pagination. + /// + public class CommentEdge : GraphQLObject, IEdge + { + /// + ///The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). + /// + public string? cursor { get; set; } + /// + ///The item at the end of CommentEdge. + /// + public Comment? node { get; set; } + } + /// ///Comment events are generated by staff members of a shop. ///They are created when a staff member adds a comment to the timeline of an order, draft order, customer, or transfer. /// public class CommentEvent : GraphQLObject, IEvent, INode { + /// + ///The action that occured. + /// + public string? action { get; set; } /// ///The name of the app that created the event. /// @@ -7936,6 +9300,10 @@ public interface ICommentEventEmbed : IGraphQLObject /// public DateTime? createdAt { get; set; } /// + ///A list of events associated with the customer. + /// + public EventConnection? events { get; set; } + /// ///A globally-unique ID. /// public string? id { get; set; } @@ -8000,6 +9368,162 @@ public interface ICommentEventSubject : IGraphQLObject public string? id { get; } } + /// + ///Return type for `commentNotSpam` mutation. + /// + public class CommentNotSpamPayload : GraphQLObject + { + /// + ///The comment that was marked as not spam. + /// + public Comment? comment { get; set; } + /// + ///The list of errors that occurred from executing the mutation. + /// + public IEnumerable? userErrors { get; set; } + } + + /// + ///An error that occurs during the execution of `CommentNotSpam`. + /// + public class CommentNotSpamUserError : GraphQLObject, IDisplayableError + { + /// + ///The error code. + /// + public CommentNotSpamUserErrorCode? code { get; set; } + /// + ///The path to the input field that caused the error. + /// + public IEnumerable? field { get; set; } + /// + ///The error message. + /// + public string? message { get; set; } + } + + /// + ///Possible error codes that can be returned by `CommentNotSpamUserError`. + /// + public enum CommentNotSpamUserErrorCode + { + /// + ///The record with the ID used as the input value couldn't be found. + /// + NOT_FOUND, + } + + /// + ///Possible comment policies for a blog. + /// + public enum CommentPolicy + { + /// + ///Readers can post comments to blog articles without moderation. + /// + AUTO_PUBLISHED, + /// + ///Readers cannot post comments to blog articles. + /// + CLOSED, + /// + ///Readers can post comments to blog articles, but comments must be moderated before they appear. + /// + MODERATED, + } + + /// + ///The set of valid sort keys for the Comment query. + /// + public enum CommentSortKeys + { + /// + ///Sort by the `created_at` value. + /// + CREATED_AT, + /// + ///Sort by the `id` value. + /// + ID, + /// + ///Sort by relevance to the search terms when the `query` parameter is specified on the connection. + ///Don't use this sort key when no search query is specified. + /// + RELEVANCE, + } + + /// + ///Return type for `commentSpam` mutation. + /// + public class CommentSpamPayload : GraphQLObject + { + /// + ///The comment that was marked as spam. + /// + public Comment? comment { get; set; } + /// + ///The list of errors that occurred from executing the mutation. + /// + public IEnumerable? userErrors { get; set; } + } + + /// + ///An error that occurs during the execution of `CommentSpam`. + /// + public class CommentSpamUserError : GraphQLObject, IDisplayableError + { + /// + ///The error code. + /// + public CommentSpamUserErrorCode? code { get; set; } + /// + ///The path to the input field that caused the error. + /// + public IEnumerable? field { get; set; } + /// + ///The error message. + /// + public string? message { get; set; } + } + + /// + ///Possible error codes that can be returned by `CommentSpamUserError`. + /// + public enum CommentSpamUserErrorCode + { + /// + ///The record with the ID used as the input value couldn't be found. + /// + NOT_FOUND, + } + + /// + ///The status of a comment. + /// + public enum CommentStatus + { + /// + ///The comment is marked as spam. + /// + SPAM, + /// + ///The comment has been removed. + /// + REMOVED, + /// + ///The comment is published. + /// + PUBLISHED, + /// + ///The comment is unapproved. + /// + UNAPPROVED, + /// + ///The comment is pending approval. + /// + PENDING, + } + /// ///Return type for `companiesDelete` mutation. /// @@ -8941,6 +10465,10 @@ public class CompanyLocation : GraphQLObject, ICommentEventSubj /// public CompanyAddress? shippingAddress { get; set; } /// + ///The list of staff members assigned to the company location. + /// + public CompanyLocationStaffMemberAssignmentConnection? staffMemberAssignments { get; set; } + /// ///The list of tax exemptions applied to the location. /// public IEnumerable? taxExemptions { get; set; } @@ -8988,6 +10516,21 @@ public class CompanyLocationAssignRolesPayload : GraphQLObject? userErrors { get; set; } } + /// + ///Return type for `companyLocationAssignStaffMembers` mutation. + /// + public class CompanyLocationAssignStaffMembersPayload : GraphQLObject + { + /// + ///The list of created staff member assignments. + /// + public IEnumerable? companyLocationStaffMemberAssignments { get; set; } + /// + ///The list of errors that occurred from executing the mutation. + /// + public IEnumerable? userErrors { get; set; } + } + /// ///Return type for `companyLocationAssignTaxExemptions` mutation. /// @@ -9121,6 +10664,21 @@ public class CompanyLocationEdge : GraphQLObject, IEdge + ///Return type for `companyLocationRemoveStaffMembers` mutation. + /// + public class CompanyLocationRemoveStaffMembersPayload : GraphQLObject + { + /// + ///The list of IDs of the deleted staff member assignment. + /// + public IEnumerable? deletedCompanyLocationStaffMemberAssignmentIds { get; set; } + /// + ///The list of errors that occurred from executing the mutation. + /// + public IEnumerable? userErrors { get; set; } + } + /// ///Return type for `companyLocationRevokeRoles` mutation. /// @@ -9202,6 +10760,83 @@ public enum CompanyLocationSortKeys RELEVANCE, } + /// + ///A representation of store's staff member who is assigned to a [company location](https://shopify.dev/api/admin-graphql/latest/objects/CompanyLocation) of the shop. The staff member's actions will be limited to objects associated with the assigned company location. + /// + public class CompanyLocationStaffMemberAssignment : GraphQLObject, INode + { + /// + ///The company location the staff member is assigned to. + /// + public CompanyLocation? companyLocation { get; set; } + /// + ///A globally-unique ID. + /// + public string? id { get; set; } + /// + ///Represents the data of a staff member who's assigned to a company location. + /// + public StaffMember? staffMember { get; set; } + } + + /// + ///An auto-generated type for paginating through multiple CompanyLocationStaffMemberAssignments. + /// + public class CompanyLocationStaffMemberAssignmentConnection : GraphQLObject, IConnectionWithNodesAndEdges + { + /// + ///The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. + /// + public IEnumerable? edges { get; set; } + /// + ///A list of nodes that are contained in CompanyLocationStaffMemberAssignmentEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. + /// + public IEnumerable? nodes { get; set; } + /// + ///An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. + /// + public PageInfo? pageInfo { get; set; } + } + + /// + ///An auto-generated type which holds one CompanyLocationStaffMemberAssignment and a cursor during pagination. + /// + public class CompanyLocationStaffMemberAssignmentEdge : GraphQLObject, IEdge + { + /// + ///The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). + /// + public string? cursor { get; set; } + /// + ///The item at the end of CompanyLocationStaffMemberAssignmentEdge. + /// + public CompanyLocationStaffMemberAssignment? node { get; set; } + } + + /// + ///The set of valid sort keys for the CompanyLocationStaffMemberAssignment query. + /// + public enum CompanyLocationStaffMemberAssignmentSortKeys + { + /// + ///Sort by the `created_at` value. + /// + CREATED_AT, + /// + ///Sort by the `updated_at` value. + /// + UPDATED_AT, + /// + ///Sort by the `id` value. + /// + ID, + /// + ///Sort by relevance to the search terms when the `query` parameter is specified on the connection. + ///Don't use this sort key when no search query is specified. + /// + RELEVANCE, + } + /// ///Return type for `companyLocationUpdate` mutation. /// @@ -11161,6 +12796,10 @@ public class Customer : GraphQLObject, ICommentEventSubject, IHasEvent /// public IEnumerable? addresses { get; set; } /// + ///The addresses associated with the customer. + /// + public MailingAddressConnection? addressesV2 { get; set; } + /// ///The total amount that the customer has spent on orders in their lifetime. /// public MoneyV2? amountSpent { get; set; } @@ -11368,6 +13007,135 @@ public class Customer : GraphQLObject, ICommentEventSubject, IHasEvent public bool? verifiedEmail { get; set; } } + /// + ///An app extension page for the customer account navigation menu. + /// + public class CustomerAccountAppExtensionPage : GraphQLObject, ICustomerAccountPage, INavigable, INode + { + /// + ///The UUID of the app extension. + /// + public string? appExtensionUuid { get; set; } + /// + ///A default [cursor](https://shopify.dev/api/usage/pagination-graphql) that returns the single next record, sorted ascending by ID. + /// + public string? defaultCursor { get; set; } + /// + ///A unique, human-friendly string for the customer account page. + /// + public string? handle { get; set; } + /// + ///The unique ID for the customer account page. + /// + public string? id { get; set; } + /// + ///The title of the customer account page. + /// + public string? title { get; set; } + } + + /// + ///A native page for the customer account navigation menu. + /// + public class CustomerAccountNativePage : GraphQLObject, ICustomerAccountPage, INavigable, INode + { + /// + ///A default [cursor](https://shopify.dev/api/usage/pagination-graphql) that returns the single next record, sorted ascending by ID. + /// + public string? defaultCursor { get; set; } + /// + ///A unique, human-friendly string for the customer account page. + /// + public string? handle { get; set; } + /// + ///The unique ID for the customer account page. + /// + public string? id { get; set; } + /// + ///The type of customer account native page. + /// + public CustomerAccountNativePagePageType? pageType { get; set; } + /// + ///The title of the customer account page. + /// + public string? title { get; set; } + } + + /// + ///The type of customer account native page. + /// + public enum CustomerAccountNativePagePageType + { + /// + ///An orders page type. + /// + NATIVE_ORDERS, + /// + ///A settings page type. + /// + NATIVE_SETTINGS, + /// + ///A profile page type. + /// + NATIVE_PROFILE, + /// + ///An unknown page type. Represents new page types that may be added in future versions. + /// + UNKNOWN, + } + + /// + ///A customer account page. + /// + [JsonPolymorphic(TypeDiscriminatorPropertyName = "__typename")] + [JsonDerivedType(typeof(CustomerAccountAppExtensionPage), typeDiscriminator: "CustomerAccountAppExtensionPage")] + [JsonDerivedType(typeof(CustomerAccountNativePage), typeDiscriminator: "CustomerAccountNativePage")] + public interface ICustomerAccountPage : IGraphQLObject, INavigable, INode + { + /// + ///A unique, human-friendly string for the customer account page. + /// + public string? handle { get; } + /// + ///The title of the customer account page. + /// + public string? title { get; } + } + + /// + ///An auto-generated type for paginating through multiple CustomerAccountPages. + /// + public class CustomerAccountPageConnection : GraphQLObject, IConnectionWithNodesAndEdges + { + /// + ///The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. + /// + public IEnumerable? edges { get; set; } + /// + ///A list of nodes that are contained in CustomerAccountPageEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. + /// + public IEnumerable? nodes { get; set; } + /// + ///An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. + /// + public PageInfo? pageInfo { get; set; } + } + + /// + ///An auto-generated type which holds one CustomerAccountPage and a cursor during pagination. + /// + public class CustomerAccountPageEdge : GraphQLObject, IEdge + { + /// + ///The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). + /// + public string? cursor { get; set; } + /// + ///The item at the end of CustomerAccountPageEdge. + /// + public ICustomerAccountPage? node { get; set; } + } + /// ///Information about the shop's customer accounts. /// @@ -12842,6 +14610,10 @@ public enum CustomerPaymentMethodRevocationReason /// MANUALLY_REVOKED, /// + ///The billing address failed to retrieve. + /// + FAILED_TO_RETRIEVE_BILLING_ADDRESS, + /// ///The payment method was replaced with an existing payment method. The associated contracts have been migrated to the other payment method. /// MERGED, @@ -13286,6 +15058,51 @@ public enum CustomerSegmentMembersQueryUserErrorCode INVALID, } + /// + ///Return type for `customerSendAccountInviteEmail` mutation. + /// + public class CustomerSendAccountInviteEmailPayload : GraphQLObject + { + /// + ///The customer to whom an account invite email was sent. + /// + public Customer? customer { get; set; } + /// + ///The list of errors that occurred from executing the mutation. + /// + public IEnumerable? userErrors { get; set; } + } + + /// + ///Defines errors for customerSendAccountInviteEmail mutation. + /// + public class CustomerSendAccountInviteEmailUserError : GraphQLObject, IDisplayableError + { + /// + ///The error code. + /// + public CustomerSendAccountInviteEmailUserErrorCode? code { get; set; } + /// + ///The path to the input field that caused the error. + /// + public IEnumerable? field { get; set; } + /// + ///The error message. + /// + public string? message { get; set; } + } + + /// + ///Possible error codes that can be returned by `CustomerSendAccountInviteEmailUserError`. + /// + public enum CustomerSendAccountInviteEmailUserErrorCode + { + /// + ///The input value is invalid. + /// + INVALID, + } + /// ///Represents a Shop Pay card instrument for customer payment method. /// @@ -14829,6 +16646,10 @@ public class DeliveryMethod : GraphQLObject, INode /// public DateTime? minDeliveryDateTime { get; set; } /// + ///The name of the delivery option that was presented to the buyer during checkout. + /// + public string? presentedName { get; set; } + /// ///A reference to the shipping method. /// public string? serviceCode { get; set; } @@ -15462,6 +17283,31 @@ public class DeliveryZone : GraphQLObject, INode public string? name { get; set; } } + /// + ///Configuration of the deposit. + /// + [JsonPolymorphic(TypeDiscriminatorPropertyName = "__typename")] + [JsonDerivedType(typeof(DepositPercentage), typeDiscriminator: "DepositPercentage")] + public interface IDepositConfiguration : IGraphQLObject + { + public DepositPercentage? AsDepositPercentage() => this as DepositPercentage; + /// + ///The percentage value of the deposit. + /// + public float? percentage { get; set; } + } + + /// + ///A percentage deposit. + /// + public class DepositPercentage : GraphQLObject, IDepositConfiguration + { + /// + ///The percentage value of the deposit. + /// + public float? percentage { get; set; } + } + /// ///Digital wallet, such as Apple Pay, which can be used for accelerated checkouts. /// @@ -15561,6 +17407,40 @@ public class DiscountAllocation : GraphQLObject public IDiscountApplication? discountApplication { get; set; } } + /// + ///An auto-generated type for paginating through multiple DiscountAllocations. + /// + public class DiscountAllocationConnection : GraphQLObject, IConnectionWithNodesAndEdges + { + /// + ///The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. + /// + public IEnumerable? edges { get; set; } + /// + ///A list of nodes that are contained in DiscountAllocationEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. + /// + public IEnumerable? nodes { get; set; } + /// + ///An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. + /// + public PageInfo? pageInfo { get; set; } + } + + /// + ///An auto-generated type which holds one DiscountAllocation and a cursor during pagination. + /// + public class DiscountAllocationEdge : GraphQLObject, IEdge + { + /// + ///The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). + /// + public string? cursor { get; set; } + /// + ///The item at the end of DiscountAllocationEdge. + /// + public DiscountAllocation? node { get; set; } + } + /// ///The fixed amount value of a discount, and whether the amount is applied to each entitled item or spread evenly across the entitled items. /// @@ -15797,6 +17677,10 @@ public class DiscountAutomaticApp : GraphQLObject, IDiscou /// public AppDiscountType? appDiscountType { get; set; } /// + ///Whether the discount applies on subscription items. + /// + public bool? appliesOnSubscription { get; set; } + /// ///The number of times the discount has been used. This value is updated asynchronously and can be different than the actual usage count. /// public int? asyncUsageCount { get; set; } @@ -15825,6 +17709,10 @@ public class DiscountAutomaticApp : GraphQLObject, IDiscou /// public FunctionsErrorHistory? errorHistory { get; set; } /// + ///The number of times a discount applies on recurring purchases (subscriptions). 0 will apply infinitely whereas 1 will only apply to the first checkout. + /// + public int? recurringCycleLimit { get; set; } + /// ///The date and time when the discount starts. /// public DateTime? startsAt { get; set; } @@ -18016,8 +19904,15 @@ public class DiscountUserError : GraphQLObject, IDisplayableE [JsonPolymorphic(TypeDiscriminatorPropertyName = "__typename")] [JsonDerivedType(typeof(AbandonmentEmailStateUpdateUserError), typeDiscriminator: "AbandonmentEmailStateUpdateUserError")] [JsonDerivedType(typeof(AbandonmentUpdateActivitiesDeliveryStatusesUserError), typeDiscriminator: "AbandonmentUpdateActivitiesDeliveryStatusesUserError")] + [JsonDerivedType(typeof(AppRevokeAccessScopesAppRevokeScopeError), typeDiscriminator: "AppRevokeAccessScopesAppRevokeScopeError")] [JsonDerivedType(typeof(AppSubscriptionTrialExtendUserError), typeDiscriminator: "AppSubscriptionTrialExtendUserError")] + [JsonDerivedType(typeof(ArticleCreateUserError), typeDiscriminator: "ArticleCreateUserError")] + [JsonDerivedType(typeof(ArticleDeleteUserError), typeDiscriminator: "ArticleDeleteUserError")] + [JsonDerivedType(typeof(ArticleUpdateUserError), typeDiscriminator: "ArticleUpdateUserError")] [JsonDerivedType(typeof(BillingAttemptUserError), typeDiscriminator: "BillingAttemptUserError")] + [JsonDerivedType(typeof(BlogCreateUserError), typeDiscriminator: "BlogCreateUserError")] + [JsonDerivedType(typeof(BlogDeleteUserError), typeDiscriminator: "BlogDeleteUserError")] + [JsonDerivedType(typeof(BlogUpdateUserError), typeDiscriminator: "BlogUpdateUserError")] [JsonDerivedType(typeof(BulkMutationUserError), typeDiscriminator: "BulkMutationUserError")] [JsonDerivedType(typeof(BulkProductResourceFeedbackCreateUserError), typeDiscriminator: "BulkProductResourceFeedbackCreateUserError")] [JsonDerivedType(typeof(BusinessCustomerUserError), typeDiscriminator: "BusinessCustomerUserError")] @@ -18030,6 +19925,10 @@ public class DiscountUserError : GraphQLObject, IDisplayableE [JsonDerivedType(typeof(CheckoutBrandingUpsertUserError), typeDiscriminator: "CheckoutBrandingUpsertUserError")] [JsonDerivedType(typeof(CollectionAddProductsV2UserError), typeDiscriminator: "CollectionAddProductsV2UserError")] [JsonDerivedType(typeof(CombinedListingUpdateUserError), typeDiscriminator: "CombinedListingUpdateUserError")] + [JsonDerivedType(typeof(CommentApproveUserError), typeDiscriminator: "CommentApproveUserError")] + [JsonDerivedType(typeof(CommentDeleteUserError), typeDiscriminator: "CommentDeleteUserError")] + [JsonDerivedType(typeof(CommentNotSpamUserError), typeDiscriminator: "CommentNotSpamUserError")] + [JsonDerivedType(typeof(CommentSpamUserError), typeDiscriminator: "CommentSpamUserError")] [JsonDerivedType(typeof(CustomerCancelDataErasureUserError), typeDiscriminator: "CustomerCancelDataErasureUserError")] [JsonDerivedType(typeof(CustomerEmailMarketingConsentUpdateUserError), typeDiscriminator: "CustomerEmailMarketingConsentUpdateUserError")] [JsonDerivedType(typeof(CustomerMergeUserError), typeDiscriminator: "CustomerMergeUserError")] @@ -18040,6 +19939,7 @@ public class DiscountUserError : GraphQLObject, IDisplayableE [JsonDerivedType(typeof(CustomerPaymentMethodUserError), typeDiscriminator: "CustomerPaymentMethodUserError")] [JsonDerivedType(typeof(CustomerRequestDataErasureUserError), typeDiscriminator: "CustomerRequestDataErasureUserError")] [JsonDerivedType(typeof(CustomerSegmentMembersQueryUserError), typeDiscriminator: "CustomerSegmentMembersQueryUserError")] + [JsonDerivedType(typeof(CustomerSendAccountInviteEmailUserError), typeDiscriminator: "CustomerSendAccountInviteEmailUserError")] [JsonDerivedType(typeof(CustomerSmsMarketingConsentError), typeDiscriminator: "CustomerSmsMarketingConsentError")] [JsonDerivedType(typeof(DataSaleOptOutUserError), typeDiscriminator: "DataSaleOptOutUserError")] [JsonDerivedType(typeof(DelegateAccessTokenCreateUserError), typeDiscriminator: "DelegateAccessTokenCreateUserError")] @@ -18054,14 +19954,18 @@ public class DiscountUserError : GraphQLObject, IDisplayableE [JsonDerivedType(typeof(FilesUserError), typeDiscriminator: "FilesUserError")] [JsonDerivedType(typeof(FulfillmentConstraintRuleCreateUserError), typeDiscriminator: "FulfillmentConstraintRuleCreateUserError")] [JsonDerivedType(typeof(FulfillmentConstraintRuleDeleteUserError), typeDiscriminator: "FulfillmentConstraintRuleDeleteUserError")] + [JsonDerivedType(typeof(FulfillmentConstraintRuleUpdateUserError), typeDiscriminator: "FulfillmentConstraintRuleUpdateUserError")] [JsonDerivedType(typeof(FulfillmentOrderHoldUserError), typeDiscriminator: "FulfillmentOrderHoldUserError")] [JsonDerivedType(typeof(FulfillmentOrderLineItemsPreparedForPickupUserError), typeDiscriminator: "FulfillmentOrderLineItemsPreparedForPickupUserError")] [JsonDerivedType(typeof(FulfillmentOrderMergeUserError), typeDiscriminator: "FulfillmentOrderMergeUserError")] [JsonDerivedType(typeof(FulfillmentOrderReleaseHoldUserError), typeDiscriminator: "FulfillmentOrderReleaseHoldUserError")] [JsonDerivedType(typeof(FulfillmentOrderRescheduleUserError), typeDiscriminator: "FulfillmentOrderRescheduleUserError")] [JsonDerivedType(typeof(FulfillmentOrderSplitUserError), typeDiscriminator: "FulfillmentOrderSplitUserError")] - [JsonDerivedType(typeof(FulfillmentOrdersReleaseHoldsUserError), typeDiscriminator: "FulfillmentOrdersReleaseHoldsUserError")] [JsonDerivedType(typeof(FulfillmentOrdersSetFulfillmentDeadlineUserError), typeDiscriminator: "FulfillmentOrdersSetFulfillmentDeadlineUserError")] + [JsonDerivedType(typeof(GiftCardDeactivateUserError), typeDiscriminator: "GiftCardDeactivateUserError")] + [JsonDerivedType(typeof(GiftCardSendNotificationToCustomerUserError), typeDiscriminator: "GiftCardSendNotificationToCustomerUserError")] + [JsonDerivedType(typeof(GiftCardSendNotificationToRecipientUserError), typeDiscriminator: "GiftCardSendNotificationToRecipientUserError")] + [JsonDerivedType(typeof(GiftCardTransactionUserError), typeDiscriminator: "GiftCardTransactionUserError")] [JsonDerivedType(typeof(GiftCardUserError), typeDiscriminator: "GiftCardUserError")] [JsonDerivedType(typeof(InventoryAdjustQuantitiesUserError), typeDiscriminator: "InventoryAdjustQuantitiesUserError")] [JsonDerivedType(typeof(InventoryBulkToggleActivationUserError), typeDiscriminator: "InventoryBulkToggleActivationUserError")] @@ -18089,8 +19993,10 @@ public class DiscountUserError : GraphQLObject, IDisplayableE [JsonDerivedType(typeof(MetafieldsSetUserError), typeDiscriminator: "MetafieldsSetUserError")] [JsonDerivedType(typeof(MetaobjectUserError), typeDiscriminator: "MetaobjectUserError")] [JsonDerivedType(typeof(MobilePlatformApplicationUserError), typeDiscriminator: "MobilePlatformApplicationUserError")] + [JsonDerivedType(typeof(OnlineStoreThemeFilesUserErrors), typeDiscriminator: "OnlineStoreThemeFilesUserErrors")] [JsonDerivedType(typeof(OrderCancelUserError), typeDiscriminator: "OrderCancelUserError")] [JsonDerivedType(typeof(OrderCreateMandatePaymentUserError), typeDiscriminator: "OrderCreateMandatePaymentUserError")] + [JsonDerivedType(typeof(OrderCreateUserError), typeDiscriminator: "OrderCreateUserError")] [JsonDerivedType(typeof(OrderDeleteUserError), typeDiscriminator: "OrderDeleteUserError")] [JsonDerivedType(typeof(OrderEditAddShippingLineUserError), typeDiscriminator: "OrderEditAddShippingLineUserError")] [JsonDerivedType(typeof(OrderEditRemoveDiscountUserError), typeDiscriminator: "OrderEditRemoveDiscountUserError")] @@ -18099,6 +20005,9 @@ public class DiscountUserError : GraphQLObject, IDisplayableE [JsonDerivedType(typeof(OrderEditUpdateShippingLineUserError), typeDiscriminator: "OrderEditUpdateShippingLineUserError")] [JsonDerivedType(typeof(OrderInvoiceSendUserError), typeDiscriminator: "OrderInvoiceSendUserError")] [JsonDerivedType(typeof(OrderRiskAssessmentCreateUserError), typeDiscriminator: "OrderRiskAssessmentCreateUserError")] + [JsonDerivedType(typeof(PageCreateUserError), typeDiscriminator: "PageCreateUserError")] + [JsonDerivedType(typeof(PageDeleteUserError), typeDiscriminator: "PageDeleteUserError")] + [JsonDerivedType(typeof(PageUpdateUserError), typeDiscriminator: "PageUpdateUserError")] [JsonDerivedType(typeof(PaymentCustomizationError), typeDiscriminator: "PaymentCustomizationError")] [JsonDerivedType(typeof(PaymentReminderSendUserError), typeDiscriminator: "PaymentReminderSendUserError")] [JsonDerivedType(typeof(PaymentTermsCreateUserError), typeDiscriminator: "PaymentTermsCreateUserError")] @@ -18107,11 +20016,8 @@ public class DiscountUserError : GraphQLObject, IDisplayableE [JsonDerivedType(typeof(PriceListFixedPricesByProductBulkUpdateUserError), typeDiscriminator: "PriceListFixedPricesByProductBulkUpdateUserError")] [JsonDerivedType(typeof(PriceListPriceUserError), typeDiscriminator: "PriceListPriceUserError")] [JsonDerivedType(typeof(PriceListUserError), typeDiscriminator: "PriceListUserError")] - [JsonDerivedType(typeof(PriceRuleUserError), typeDiscriminator: "PriceRuleUserError")] [JsonDerivedType(typeof(ProductBundleMutationUserError), typeDiscriminator: "ProductBundleMutationUserError")] [JsonDerivedType(typeof(ProductChangeStatusUserError), typeDiscriminator: "ProductChangeStatusUserError")] - [JsonDerivedType(typeof(ProductDeleteUserError), typeDiscriminator: "ProductDeleteUserError")] - [JsonDerivedType(typeof(ProductDuplicateUserError), typeDiscriminator: "ProductDuplicateUserError")] [JsonDerivedType(typeof(ProductFeedCreateUserError), typeDiscriminator: "ProductFeedCreateUserError")] [JsonDerivedType(typeof(ProductFeedDeleteUserError), typeDiscriminator: "ProductFeedDeleteUserError")] [JsonDerivedType(typeof(ProductFullSyncUserError), typeDiscriminator: "ProductFullSyncUserError")] @@ -18145,6 +20051,10 @@ public class DiscountUserError : GraphQLObject, IDisplayableE [JsonDerivedType(typeof(SubscriptionContractUserError), typeDiscriminator: "SubscriptionContractUserError")] [JsonDerivedType(typeof(SubscriptionDraftUserError), typeDiscriminator: "SubscriptionDraftUserError")] [JsonDerivedType(typeof(TaxAppConfigureUserError), typeDiscriminator: "TaxAppConfigureUserError")] + [JsonDerivedType(typeof(ThemeCreateUserError), typeDiscriminator: "ThemeCreateUserError")] + [JsonDerivedType(typeof(ThemeDeleteUserError), typeDiscriminator: "ThemeDeleteUserError")] + [JsonDerivedType(typeof(ThemePublishUserError), typeDiscriminator: "ThemePublishUserError")] + [JsonDerivedType(typeof(ThemeUpdateUserError), typeDiscriminator: "ThemeUpdateUserError")] [JsonDerivedType(typeof(TransactionVoidUserError), typeDiscriminator: "TransactionVoidUserError")] [JsonDerivedType(typeof(TranslationUserError), typeDiscriminator: "TranslationUserError")] [JsonDerivedType(typeof(UrlRedirectBulkDeleteByIdsUserError), typeDiscriminator: "UrlRedirectBulkDeleteByIdsUserError")] @@ -18158,8 +20068,15 @@ public interface IDisplayableError : IGraphQLObject { public AbandonmentEmailStateUpdateUserError? AsAbandonmentEmailStateUpdateUserError() => this as AbandonmentEmailStateUpdateUserError; public AbandonmentUpdateActivitiesDeliveryStatusesUserError? AsAbandonmentUpdateActivitiesDeliveryStatusesUserError() => this as AbandonmentUpdateActivitiesDeliveryStatusesUserError; + public AppRevokeAccessScopesAppRevokeScopeError? AsAppRevokeAccessScopesAppRevokeScopeError() => this as AppRevokeAccessScopesAppRevokeScopeError; public AppSubscriptionTrialExtendUserError? AsAppSubscriptionTrialExtendUserError() => this as AppSubscriptionTrialExtendUserError; + public ArticleCreateUserError? AsArticleCreateUserError() => this as ArticleCreateUserError; + public ArticleDeleteUserError? AsArticleDeleteUserError() => this as ArticleDeleteUserError; + public ArticleUpdateUserError? AsArticleUpdateUserError() => this as ArticleUpdateUserError; public BillingAttemptUserError? AsBillingAttemptUserError() => this as BillingAttemptUserError; + public BlogCreateUserError? AsBlogCreateUserError() => this as BlogCreateUserError; + public BlogDeleteUserError? AsBlogDeleteUserError() => this as BlogDeleteUserError; + public BlogUpdateUserError? AsBlogUpdateUserError() => this as BlogUpdateUserError; public BulkMutationUserError? AsBulkMutationUserError() => this as BulkMutationUserError; public BulkProductResourceFeedbackCreateUserError? AsBulkProductResourceFeedbackCreateUserError() => this as BulkProductResourceFeedbackCreateUserError; public BusinessCustomerUserError? AsBusinessCustomerUserError() => this as BusinessCustomerUserError; @@ -18172,6 +20089,10 @@ public interface IDisplayableError : IGraphQLObject public CheckoutBrandingUpsertUserError? AsCheckoutBrandingUpsertUserError() => this as CheckoutBrandingUpsertUserError; public CollectionAddProductsV2UserError? AsCollectionAddProductsV2UserError() => this as CollectionAddProductsV2UserError; public CombinedListingUpdateUserError? AsCombinedListingUpdateUserError() => this as CombinedListingUpdateUserError; + public CommentApproveUserError? AsCommentApproveUserError() => this as CommentApproveUserError; + public CommentDeleteUserError? AsCommentDeleteUserError() => this as CommentDeleteUserError; + public CommentNotSpamUserError? AsCommentNotSpamUserError() => this as CommentNotSpamUserError; + public CommentSpamUserError? AsCommentSpamUserError() => this as CommentSpamUserError; public CustomerCancelDataErasureUserError? AsCustomerCancelDataErasureUserError() => this as CustomerCancelDataErasureUserError; public CustomerEmailMarketingConsentUpdateUserError? AsCustomerEmailMarketingConsentUpdateUserError() => this as CustomerEmailMarketingConsentUpdateUserError; public CustomerMergeUserError? AsCustomerMergeUserError() => this as CustomerMergeUserError; @@ -18182,6 +20103,7 @@ public interface IDisplayableError : IGraphQLObject public CustomerPaymentMethodUserError? AsCustomerPaymentMethodUserError() => this as CustomerPaymentMethodUserError; public CustomerRequestDataErasureUserError? AsCustomerRequestDataErasureUserError() => this as CustomerRequestDataErasureUserError; public CustomerSegmentMembersQueryUserError? AsCustomerSegmentMembersQueryUserError() => this as CustomerSegmentMembersQueryUserError; + public CustomerSendAccountInviteEmailUserError? AsCustomerSendAccountInviteEmailUserError() => this as CustomerSendAccountInviteEmailUserError; public CustomerSmsMarketingConsentError? AsCustomerSmsMarketingConsentError() => this as CustomerSmsMarketingConsentError; public DataSaleOptOutUserError? AsDataSaleOptOutUserError() => this as DataSaleOptOutUserError; public DelegateAccessTokenCreateUserError? AsDelegateAccessTokenCreateUserError() => this as DelegateAccessTokenCreateUserError; @@ -18196,14 +20118,18 @@ public interface IDisplayableError : IGraphQLObject public FilesUserError? AsFilesUserError() => this as FilesUserError; public FulfillmentConstraintRuleCreateUserError? AsFulfillmentConstraintRuleCreateUserError() => this as FulfillmentConstraintRuleCreateUserError; public FulfillmentConstraintRuleDeleteUserError? AsFulfillmentConstraintRuleDeleteUserError() => this as FulfillmentConstraintRuleDeleteUserError; + public FulfillmentConstraintRuleUpdateUserError? AsFulfillmentConstraintRuleUpdateUserError() => this as FulfillmentConstraintRuleUpdateUserError; public FulfillmentOrderHoldUserError? AsFulfillmentOrderHoldUserError() => this as FulfillmentOrderHoldUserError; public FulfillmentOrderLineItemsPreparedForPickupUserError? AsFulfillmentOrderLineItemsPreparedForPickupUserError() => this as FulfillmentOrderLineItemsPreparedForPickupUserError; public FulfillmentOrderMergeUserError? AsFulfillmentOrderMergeUserError() => this as FulfillmentOrderMergeUserError; public FulfillmentOrderReleaseHoldUserError? AsFulfillmentOrderReleaseHoldUserError() => this as FulfillmentOrderReleaseHoldUserError; public FulfillmentOrderRescheduleUserError? AsFulfillmentOrderRescheduleUserError() => this as FulfillmentOrderRescheduleUserError; public FulfillmentOrderSplitUserError? AsFulfillmentOrderSplitUserError() => this as FulfillmentOrderSplitUserError; - public FulfillmentOrdersReleaseHoldsUserError? AsFulfillmentOrdersReleaseHoldsUserError() => this as FulfillmentOrdersReleaseHoldsUserError; public FulfillmentOrdersSetFulfillmentDeadlineUserError? AsFulfillmentOrdersSetFulfillmentDeadlineUserError() => this as FulfillmentOrdersSetFulfillmentDeadlineUserError; + public GiftCardDeactivateUserError? AsGiftCardDeactivateUserError() => this as GiftCardDeactivateUserError; + public GiftCardSendNotificationToCustomerUserError? AsGiftCardSendNotificationToCustomerUserError() => this as GiftCardSendNotificationToCustomerUserError; + public GiftCardSendNotificationToRecipientUserError? AsGiftCardSendNotificationToRecipientUserError() => this as GiftCardSendNotificationToRecipientUserError; + public GiftCardTransactionUserError? AsGiftCardTransactionUserError() => this as GiftCardTransactionUserError; public GiftCardUserError? AsGiftCardUserError() => this as GiftCardUserError; public InventoryAdjustQuantitiesUserError? AsInventoryAdjustQuantitiesUserError() => this as InventoryAdjustQuantitiesUserError; public InventoryBulkToggleActivationUserError? AsInventoryBulkToggleActivationUserError() => this as InventoryBulkToggleActivationUserError; @@ -18231,8 +20157,10 @@ public interface IDisplayableError : IGraphQLObject public MetafieldsSetUserError? AsMetafieldsSetUserError() => this as MetafieldsSetUserError; public MetaobjectUserError? AsMetaobjectUserError() => this as MetaobjectUserError; public MobilePlatformApplicationUserError? AsMobilePlatformApplicationUserError() => this as MobilePlatformApplicationUserError; + public OnlineStoreThemeFilesUserErrors? AsOnlineStoreThemeFilesUserErrors() => this as OnlineStoreThemeFilesUserErrors; public OrderCancelUserError? AsOrderCancelUserError() => this as OrderCancelUserError; public OrderCreateMandatePaymentUserError? AsOrderCreateMandatePaymentUserError() => this as OrderCreateMandatePaymentUserError; + public OrderCreateUserError? AsOrderCreateUserError() => this as OrderCreateUserError; public OrderDeleteUserError? AsOrderDeleteUserError() => this as OrderDeleteUserError; public OrderEditAddShippingLineUserError? AsOrderEditAddShippingLineUserError() => this as OrderEditAddShippingLineUserError; public OrderEditRemoveDiscountUserError? AsOrderEditRemoveDiscountUserError() => this as OrderEditRemoveDiscountUserError; @@ -18241,6 +20169,9 @@ public interface IDisplayableError : IGraphQLObject public OrderEditUpdateShippingLineUserError? AsOrderEditUpdateShippingLineUserError() => this as OrderEditUpdateShippingLineUserError; public OrderInvoiceSendUserError? AsOrderInvoiceSendUserError() => this as OrderInvoiceSendUserError; public OrderRiskAssessmentCreateUserError? AsOrderRiskAssessmentCreateUserError() => this as OrderRiskAssessmentCreateUserError; + public PageCreateUserError? AsPageCreateUserError() => this as PageCreateUserError; + public PageDeleteUserError? AsPageDeleteUserError() => this as PageDeleteUserError; + public PageUpdateUserError? AsPageUpdateUserError() => this as PageUpdateUserError; public PaymentCustomizationError? AsPaymentCustomizationError() => this as PaymentCustomizationError; public PaymentReminderSendUserError? AsPaymentReminderSendUserError() => this as PaymentReminderSendUserError; public PaymentTermsCreateUserError? AsPaymentTermsCreateUserError() => this as PaymentTermsCreateUserError; @@ -18249,11 +20180,8 @@ public interface IDisplayableError : IGraphQLObject public PriceListFixedPricesByProductBulkUpdateUserError? AsPriceListFixedPricesByProductBulkUpdateUserError() => this as PriceListFixedPricesByProductBulkUpdateUserError; public PriceListPriceUserError? AsPriceListPriceUserError() => this as PriceListPriceUserError; public PriceListUserError? AsPriceListUserError() => this as PriceListUserError; - public PriceRuleUserError? AsPriceRuleUserError() => this as PriceRuleUserError; public ProductBundleMutationUserError? AsProductBundleMutationUserError() => this as ProductBundleMutationUserError; public ProductChangeStatusUserError? AsProductChangeStatusUserError() => this as ProductChangeStatusUserError; - public ProductDeleteUserError? AsProductDeleteUserError() => this as ProductDeleteUserError; - public ProductDuplicateUserError? AsProductDuplicateUserError() => this as ProductDuplicateUserError; public ProductFeedCreateUserError? AsProductFeedCreateUserError() => this as ProductFeedCreateUserError; public ProductFeedDeleteUserError? AsProductFeedDeleteUserError() => this as ProductFeedDeleteUserError; public ProductFullSyncUserError? AsProductFullSyncUserError() => this as ProductFullSyncUserError; @@ -18287,6 +20215,10 @@ public interface IDisplayableError : IGraphQLObject public SubscriptionContractUserError? AsSubscriptionContractUserError() => this as SubscriptionContractUserError; public SubscriptionDraftUserError? AsSubscriptionDraftUserError() => this as SubscriptionDraftUserError; public TaxAppConfigureUserError? AsTaxAppConfigureUserError() => this as TaxAppConfigureUserError; + public ThemeCreateUserError? AsThemeCreateUserError() => this as ThemeCreateUserError; + public ThemeDeleteUserError? AsThemeDeleteUserError() => this as ThemeDeleteUserError; + public ThemePublishUserError? AsThemePublishUserError() => this as ThemePublishUserError; + public ThemeUpdateUserError? AsThemeUpdateUserError() => this as ThemeUpdateUserError; public TransactionVoidUserError? AsTransactionVoidUserError() => this as TransactionVoidUserError; public TranslationUserError? AsTranslationUserError() => this as TranslationUserError; public UrlRedirectBulkDeleteByIdsUserError? AsUrlRedirectBulkDeleteByIdsUserError() => this as UrlRedirectBulkDeleteByIdsUserError; @@ -19685,6 +21617,10 @@ public interface IEvent : IGraphQLObject public BasicEvent? AsBasicEvent() => this as BasicEvent; public CommentEvent? AsCommentEvent() => this as CommentEvent; /// + ///The action that occured. + /// + public string? action { get; } + /// ///The name of the app that created the event. /// public string? appTitle { get; } @@ -19813,6 +21749,86 @@ public enum EventSortKeys RELEVANCE, } + /// + ///The type of the resource that generated the event. + /// + public enum EventSubjectType + { + /// + ///A CompanyLocation resource generated the event. + /// + COMPANY_LOCATION, + /// + ///A Company resource generated the event. + /// + COMPANY, + /// + ///A Customer resource generated the event. + /// + CUSTOMER, + /// + ///A DraftOrder resource generated the event. + /// + DRAFT_ORDER, + /// + ///A Collection resource generated the event. + /// + COLLECTION, + /// + ///A Product resource generated the event. + /// + PRODUCT, + /// + ///A ProductVariant resource generated the event. + /// + PRODUCT_VARIANT, + /// + ///A Article resource generated the event. + /// + ARTICLE, + /// + ///A Blog resource generated the event. + /// + BLOG, + /// + ///A Comment resource generated the event. + /// + COMMENT, + /// + ///A Page resource generated the event. + /// + PAGE, + /// + ///A DiscountAutomaticBxgy resource generated the event. + /// + DISCOUNT_AUTOMATIC_BXGY, + /// + ///A DiscountAutomaticNode resource generated the event. + /// + DISCOUNT_AUTOMATIC_NODE, + /// + ///A DiscountCodeNode resource generated the event. + /// + DISCOUNT_CODE_NODE, + /// + ///A DiscountNode resource generated the event. + /// + DISCOUNT_NODE, + /// + ///A PriceRule resource generated the event. + /// + PRICE_RULE, + /// + ///A Order resource generated the event. + /// + ORDER, + /// + ///Subject type is not available. This usually means that the subject isn't available in the current + /// version of the API, using a newer API version may resolve this. + /// + UNKNOWN, + } + /// ///An item for exchange. /// @@ -20988,6 +23004,10 @@ public class FulfillmentConnection : GraphQLObject, IConn /// public class FulfillmentConstraintRule : GraphQLObject, IHasMetafields, INode { + /// + ///Delivery method types that the function is associated with. + /// + public IEnumerable? deliveryMethodTypes { get; set; } /// ///The ID for the fulfillment constraint function. /// @@ -21139,6 +23159,70 @@ public enum FulfillmentConstraintRuleDeleteUserErrorCode UNAUTHORIZED_APP_SCOPE, } + /// + ///Return type for `fulfillmentConstraintRuleUpdate` mutation. + /// + public class FulfillmentConstraintRuleUpdatePayload : GraphQLObject + { + /// + ///The updated fulfillment constraint rule. + /// + public FulfillmentConstraintRule? fulfillmentConstraintRule { get; set; } + /// + ///The list of errors that occurred from executing the mutation. + /// + public IEnumerable? userErrors { get; set; } + } + + /// + ///An error that occurs during the execution of `FulfillmentConstraintRuleUpdate`. + /// + public class FulfillmentConstraintRuleUpdateUserError : GraphQLObject, IDisplayableError + { + /// + ///The error code. + /// + public FulfillmentConstraintRuleUpdateUserErrorCode? code { get; set; } + /// + ///The path to the input field that caused the error. + /// + public IEnumerable? field { get; set; } + /// + ///The error message. + /// + public string? message { get; set; } + } + + /// + ///Possible error codes that can be returned by `FulfillmentConstraintRuleUpdateUserError`. + /// + public enum FulfillmentConstraintRuleUpdateUserErrorCode + { + /// + ///Could not find fulfillment constraint rule for provided id. + /// + NOT_FOUND, + /// + ///Unauthorized app scope. + /// + UNAUTHORIZED_APP_SCOPE, + } + + /// + ///Return type for `fulfillmentCreate` mutation. + /// + public class FulfillmentCreatePayload : GraphQLObject + { + /// + ///The created fulfillment. + /// + public Fulfillment? fulfillment { get; set; } + /// + ///The list of errors that occurred from executing the mutation. + /// + public IEnumerable? userErrors { get; set; } + } + /// ///Return type for `fulfillmentCreateV2` mutation. /// @@ -21414,13 +23498,25 @@ public enum FulfillmentEventStatus /// ///A fulfillment hold currently applied on a fulfillment order. /// - public class FulfillmentHold : GraphQLObject + public class FulfillmentHold : GraphQLObject, INode { + /// + ///The localized reason for the fulfillment hold for display purposes. + /// + public string? displayReason { get; set; } /// ///The name of the app or service that applied the fulfillment hold. /// public string? heldBy { get; set; } /// + ///A boolean value that indicates whether the requesting app created the fulfillment hold. + /// + public bool? heldByRequestingApp { get; set; } + /// + ///A globally-unique ID. + /// + public string? id { get; set; } + /// ///The reason for the fulfillment hold. /// public FulfillmentHoldReason? reason { get; set; } @@ -22096,6 +24192,10 @@ public class FulfillmentOrderDestination : GraphQLObject public string? lastName { get; set; } /// + ///The location designated for the pick-up of the fulfillment order. + /// + public Location? location { get; set; } + /// ///The phone number of the customer at the destination. /// public string? phone { get; set; } @@ -22129,6 +24229,10 @@ public class FulfillmentOrderEdge : GraphQLObject, IEdge public class FulfillmentOrderHoldPayload : GraphQLObject { + /// + ///The fulfillment hold created for the fulfillment order. Null if no hold was created. + /// + public FulfillmentHold? fulfillmentHold { get; set; } /// ///The fulfillment order on which a fulfillment hold was applied. /// @@ -22760,13 +24864,9 @@ public enum FulfillmentOrderReleaseHoldUserErrorCode /// FULFILLMENT_ORDER_NOT_FOUND, /// - ///The fulfillment order line item quantity must be greater than 0. + ///The app doesn't have access to release the fulfillment hold. /// - GREATER_THAN_ZERO, - /// - ///The fulfillment order line item quantity is invalid. - /// - INVALID_LINE_ITEM_QUANTITY, + INVALID_ACCESS, } /// @@ -23047,51 +25147,6 @@ public class FulfillmentOrderSupportedAction : GraphQLObject - ///Return type for `fulfillmentOrdersReleaseHolds` mutation. - /// - public class FulfillmentOrdersReleaseHoldsPayload : GraphQLObject - { - /// - ///The asynchronous job that will release the fulfillment holds. - /// - public Job? job { get; set; } - /// - ///The list of errors that occurred from executing the mutation. - /// - public IEnumerable? userErrors { get; set; } - } - - /// - ///An error that occurs during the execution of `FulfillmentOrdersReleaseHolds`. - /// - public class FulfillmentOrdersReleaseHoldsUserError : GraphQLObject, IDisplayableError - { - /// - ///The error code. - /// - public FulfillmentOrdersReleaseHoldsUserErrorCode? code { get; set; } - /// - ///The path to the input field that caused the error. - /// - public IEnumerable? field { get; set; } - /// - ///The error message. - /// - public string? message { get; set; } - } - - /// - ///Possible error codes that can be returned by `FulfillmentOrdersReleaseHoldsUserError`. - /// - public enum FulfillmentOrdersReleaseHoldsUserErrorCode - { - /// - ///Failed to create release fulfillment order holds job. - /// - FAILED_TO_CREATE_JOB, - } - /// ///Return type for `fulfillmentOrdersSetFulfillmentDeadline` mutation. /// @@ -23281,12 +25336,6 @@ public class FulfillmentService : GraphQLObject ///The name of the fulfillment service as seen by merchants. /// public string? serviceName { get; set; } - - /// - ///Shipping methods associated with the fulfillment service provider. Applies only to Fulfill By Amazon fulfillment service. - /// - [Obsolete("The Fulfillment by Amazon feature will no longer be supported from March 30, 2023. To continue using Amazon fulfillment, merchants need to set up a Multi-Channel Fulfillment solution recommended by Amazon: https://help.shopify.com/manual/shipping/fulfillment-services/amazon#activate-fulfillment-by-amazon")] - public IEnumerable? shippingMethods { get; set; } /// ///Whether the fulfillment service implemented the /fetch_tracking_numbers endpoint. /// @@ -23312,6 +25361,25 @@ public class FulfillmentServiceCreatePayload : GraphQLObject? userErrors { get; set; } } + /// + ///Actions that can be taken at the location when a client requests the deletion of the fulfillment service. + /// + public enum FulfillmentServiceDeleteInventoryAction + { + /// + ///Deactivate and delete the inventory and location. + /// + DELETE, + /// + ///Keep the inventory in place and convert the Fulfillment Service's location to be merchant managed. + /// + KEEP, + /// + ///Transfer the inventory and other dependencies to the provided location. + /// + TRANSFER, + } + /// ///Return type for `fulfillmentServiceDelete` mutation. /// @@ -23576,6 +25644,21 @@ public class FulfillmentTrackingInfo : GraphQLObject public string? url { get; set; } } + /// + ///Return type for `fulfillmentTrackingInfoUpdate` mutation. + /// + public class FulfillmentTrackingInfoUpdatePayload : GraphQLObject + { + /// + ///The updated fulfillment with tracking information. + /// + public Fulfillment? fulfillment { get; set; } + /// + ///The list of errors that occurred from executing the mutation. + /// + public IEnumerable? userErrors { get; set; } + } + /// ///Return type for `fulfillmentTrackingInfoUpdateV2` mutation. /// @@ -23693,12 +25776,10 @@ public class GiftCard : GraphQLObject, INode ///The customer who will receive the gift card. /// public Customer? customer { get; set; } - /// - ///The date and time at which the gift card was disabled. + ///The date and time at which the gift card was deactivated. /// - [Obsolete("Use `deactivatedAt` instead.")] - public DateTime? disabledAt { get; set; } + public DateTime? deactivatedAt { get; set; } /// ///Whether the gift card is enabled. /// @@ -23731,6 +25812,22 @@ public class GiftCard : GraphQLObject, INode ///The order associated with the gift card. This value is `null` if the gift card was issued manually. /// public Order? order { get; set; } + /// + ///The recipient who will receive the gift card. + /// + public GiftCardRecipient? recipientAttributes { get; set; } + /// + ///The theme template used to render the gift card online. + /// + public string? templateSuffix { get; set; } + /// + ///The transaction history of the gift card. + /// + public GiftCardTransactionConnection? transactions { get; set; } + /// + ///The date and time at which the gift card was updated. + /// + public DateTime? updatedAt { get; set; } } /// @@ -23772,18 +25869,178 @@ public class GiftCardCreatePayload : GraphQLObject } /// - ///Return type for `giftCardDisable` mutation. + ///Return type for `giftCardCredit` mutation. /// - public class GiftCardDisablePayload : GraphQLObject + public class GiftCardCreditPayload : GraphQLObject { /// - ///The disabled gift card. + ///The gift card credit transaction that was created. + /// + public GiftCardCreditTransaction? giftCardCreditTransaction { get; set; } + /// + ///The list of errors that occurred from executing the mutation. + /// + public IEnumerable? userErrors { get; set; } + } + + /// + ///A credit transaction which increases the gift card balance. + /// + public class GiftCardCreditTransaction : GraphQLObject, IGiftCardTransaction, IHasMetafields, INode + { + /// + ///The amount of the transaction. + /// + public MoneyV2? amount { get; set; } + /// + ///The gift card that the transaction belongs to. + /// + public GiftCard? giftCard { get; set; } + /// + ///A globally-unique ID. + /// + public string? id { get; set; } + /// + ///A [custom field](https://shopify.dev/docs/apps/build/custom-data), + ///including its `namespace` and `key`, that's associated with a Shopify resource + ///for the purposes of adding and storing additional information. + /// + public Metafield? metafield { get; set; } + /// + ///A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data) + ///that a merchant associates with a Shopify resource. + /// + public MetafieldConnection? metafields { get; set; } + /// + ///A note about the transaction. + /// + public string? note { get; set; } + + /// + ///Returns a private metafield by namespace and key that belongs to the resource. + /// + [Obsolete("Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).")] + public PrivateMetafield? privateMetafield { get; set; } + + /// + ///List of private metafields that belong to the resource. + /// + [Obsolete("Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).")] + public PrivateMetafieldConnection? privateMetafields { get; set; } + /// + ///The date and time when the transaction was processed. + /// + public DateTime? processedAt { get; set; } + } + + /// + ///Return type for `giftCardDeactivate` mutation. + /// + public class GiftCardDeactivatePayload : GraphQLObject + { + /// + ///The deactivated gift card. /// public GiftCard? giftCard { get; set; } /// ///The list of errors that occurred from executing the mutation. /// - public IEnumerable? userErrors { get; set; } + public IEnumerable? userErrors { get; set; } + } + + /// + ///An error that occurs during the execution of `GiftCardDeactivate`. + /// + public class GiftCardDeactivateUserError : GraphQLObject, IDisplayableError + { + /// + ///The error code. + /// + public GiftCardDeactivateUserErrorCode? code { get; set; } + /// + ///The path to the input field that caused the error. + /// + public IEnumerable? field { get; set; } + /// + ///The error message. + /// + public string? message { get; set; } + } + + /// + ///Possible error codes that can be returned by `GiftCardDeactivateUserError`. + /// + public enum GiftCardDeactivateUserErrorCode + { + /// + ///The gift card could not be found. + /// + GIFT_CARD_NOT_FOUND, + } + + /// + ///Return type for `giftCardDebit` mutation. + /// + public class GiftCardDebitPayload : GraphQLObject + { + /// + ///The gift card debit transaction that was created. + /// + public GiftCardDebitTransaction? giftCardDebitTransaction { get; set; } + /// + ///The list of errors that occurred from executing the mutation. + /// + public IEnumerable? userErrors { get; set; } + } + + /// + ///A debit transaction which decreases the gift card balance. + /// + public class GiftCardDebitTransaction : GraphQLObject, IGiftCardTransaction, IHasMetafields, INode + { + /// + ///The amount of the transaction. + /// + public MoneyV2? amount { get; set; } + /// + ///The gift card that the transaction belongs to. + /// + public GiftCard? giftCard { get; set; } + /// + ///A globally-unique ID. + /// + public string? id { get; set; } + /// + ///A [custom field](https://shopify.dev/docs/apps/build/custom-data), + ///including its `namespace` and `key`, that's associated with a Shopify resource + ///for the purposes of adding and storing additional information. + /// + public Metafield? metafield { get; set; } + /// + ///A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data) + ///that a merchant associates with a Shopify resource. + /// + public MetafieldConnection? metafields { get; set; } + /// + ///A note about the transaction. + /// + public string? note { get; set; } + + /// + ///Returns a private metafield by namespace and key that belongs to the resource. + /// + [Obsolete("Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).")] + public PrivateMetafield? privateMetafield { get; set; } + + /// + ///List of private metafields that belong to the resource. + /// + [Obsolete("Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).")] + public PrivateMetafieldConnection? privateMetafields { get; set; } + /// + ///The date and time when the transaction was processed. + /// + public DateTime? processedAt { get; set; } } /// @@ -23834,6 +26091,37 @@ public enum GiftCardErrorCode ///The input value should be greater than the minimum allowed value. /// GREATER_THAN, + /// + ///The customer could not be found. + /// + CUSTOMER_NOT_FOUND, + /// + ///The recipient could not be found. + /// + RECIPIENT_NOT_FOUND, + } + + /// + ///Represents a recipient who will receive the issued gift card. + /// + public class GiftCardRecipient : GraphQLObject + { + /// + ///The message sent with the gift card. + /// + public string? message { get; set; } + /// + ///The preferred name of the recipient who will receive the gift card. + /// + public string? preferredName { get; set; } + /// + ///The recipient who will receive the gift card. + /// + public Customer? recipient { get; set; } + /// + ///The scheduled datetime on which the gift card will be sent to the recipient. The gift card will be sent within an hour of the specified datetime. + /// + public DateTime? sendNotificationAt { get; set; } } /// @@ -23883,6 +26171,112 @@ public class GiftCardSale : GraphQLObject, ISale public MoneyBag? totalTaxAmount { get; set; } } + /// + ///Return type for `giftCardSendNotificationToCustomer` mutation. + /// + public class GiftCardSendNotificationToCustomerPayload : GraphQLObject + { + /// + ///The gift card that was sent. + /// + public GiftCard? giftCard { get; set; } + /// + ///The list of errors that occurred from executing the mutation. + /// + public IEnumerable? userErrors { get; set; } + } + + /// + ///An error that occurs during the execution of `GiftCardSendNotificationToCustomer`. + /// + public class GiftCardSendNotificationToCustomerUserError : GraphQLObject, IDisplayableError + { + /// + ///The error code. + /// + public GiftCardSendNotificationToCustomerUserErrorCode? code { get; set; } + /// + ///The path to the input field that caused the error. + /// + public IEnumerable? field { get; set; } + /// + ///The error message. + /// + public string? message { get; set; } + } + + /// + ///Possible error codes that can be returned by `GiftCardSendNotificationToCustomerUserError`. + /// + public enum GiftCardSendNotificationToCustomerUserErrorCode + { + /// + ///The input value is invalid. + /// + INVALID, + /// + ///The customer could not be found. + /// + CUSTOMER_NOT_FOUND, + /// + ///The gift card could not be found. + /// + GIFT_CARD_NOT_FOUND, + } + + /// + ///Return type for `giftCardSendNotificationToRecipient` mutation. + /// + public class GiftCardSendNotificationToRecipientPayload : GraphQLObject + { + /// + ///The gift card that was sent. + /// + public GiftCard? giftCard { get; set; } + /// + ///The list of errors that occurred from executing the mutation. + /// + public IEnumerable? userErrors { get; set; } + } + + /// + ///An error that occurs during the execution of `GiftCardSendNotificationToRecipient`. + /// + public class GiftCardSendNotificationToRecipientUserError : GraphQLObject, IDisplayableError + { + /// + ///The error code. + /// + public GiftCardSendNotificationToRecipientUserErrorCode? code { get; set; } + /// + ///The path to the input field that caused the error. + /// + public IEnumerable? field { get; set; } + /// + ///The error message. + /// + public string? message { get; set; } + } + + /// + ///Possible error codes that can be returned by `GiftCardSendNotificationToRecipientUserError`. + /// + public enum GiftCardSendNotificationToRecipientUserErrorCode + { + /// + ///The input value is invalid. + /// + INVALID, + /// + ///The recipient could not be found. + /// + RECIPIENT_NOT_FOUND, + /// + ///The gift card could not be found. + /// + GIFT_CARD_NOT_FOUND, + } + /// ///The set of valid sort keys for the GiftCard query. /// @@ -23935,6 +26329,124 @@ public enum GiftCardSortKeys RELEVANCE, } + /// + ///Represents information about the metafields associated to the specified resource. + /// + [JsonPolymorphic(TypeDiscriminatorPropertyName = "__typename")] + [JsonDerivedType(typeof(GiftCardCreditTransaction), typeDiscriminator: "GiftCardCreditTransaction")] + [JsonDerivedType(typeof(GiftCardDebitTransaction), typeDiscriminator: "GiftCardDebitTransaction")] + public interface IGiftCardTransaction : IGraphQLObject, IHasMetafields + { + /// + ///The amount of the transaction. + /// + public MoneyV2? amount { get; } + /// + ///The gift card that the transaction belongs to. + /// + public GiftCard? giftCard { get; } + /// + ///The unique ID for the transaction. + /// + public string? id { get; } + /// + ///A note about the transaction. + /// + public string? note { get; } + /// + ///The date and time when the transaction was processed. + /// + public DateTime? processedAt { get; } + } + + /// + ///An auto-generated type for paginating through multiple GiftCardTransactions. + /// + public class GiftCardTransactionConnection : GraphQLObject, IConnectionWithNodesAndEdges + { + /// + ///The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. + /// + public IEnumerable? edges { get; set; } + /// + ///A list of nodes that are contained in GiftCardTransactionEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. + /// + public IEnumerable? nodes { get; set; } + /// + ///An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. + /// + public PageInfo? pageInfo { get; set; } + } + + /// + ///An auto-generated type which holds one GiftCardTransaction and a cursor during pagination. + /// + public class GiftCardTransactionEdge : GraphQLObject, IEdge + { + /// + ///The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). + /// + public string? cursor { get; set; } + /// + ///The item at the end of GiftCardTransactionEdge. + /// + public IGiftCardTransaction? node { get; set; } + } + + /// + ///Represents an error that happens during the execution of a gift card transaction mutation. + /// + public class GiftCardTransactionUserError : GraphQLObject, IDisplayableError + { + /// + ///The error code. + /// + public GiftCardTransactionUserErrorCode? code { get; set; } + /// + ///The path to the input field that caused the error. + /// + public IEnumerable? field { get; set; } + /// + ///The error message. + /// + public string? message { get; set; } + } + + /// + ///Possible error codes that can be returned by `GiftCardTransactionUserError`. + /// + public enum GiftCardTransactionUserErrorCode + { + /// + ///The input value is invalid. + /// + INVALID, + /// + ///Unexpected internal error happened. + /// + INTERNAL_ERROR, + /// + ///The gift card's value exceeds the allowed limits. + /// + GIFT_CARD_LIMIT_EXCEEDED, + /// + ///The gift card could not be found. + /// + GIFT_CARD_NOT_FOUND, + /// + ///A positive amount must be used. + /// + NEGATIVE_OR_ZERO_AMOUNT, + /// + ///The gift card does not have sufficient funds to satisfy the request. + /// + INSUFFICIENT_FUNDS, + /// + ///The currency provided does not match the currency of the gift card. + /// + MISMATCHING_CURRENCY, + } + /// ///Return type for `giftCardUpdate` mutation. /// @@ -23989,6 +26501,10 @@ public interface IHasCompareDigest : IGraphQLObject ///Represents an object that has a list of events. /// [JsonPolymorphic(TypeDiscriminatorPropertyName = "__typename")] + [JsonDerivedType(typeof(Article), typeDiscriminator: "Article")] + [JsonDerivedType(typeof(Blog), typeDiscriminator: "Blog")] + [JsonDerivedType(typeof(Collection), typeDiscriminator: "Collection")] + [JsonDerivedType(typeof(Comment), typeDiscriminator: "Comment")] [JsonDerivedType(typeof(Company), typeDiscriminator: "Company")] [JsonDerivedType(typeof(CompanyLocation), typeDiscriminator: "CompanyLocation")] [JsonDerivedType(typeof(Customer), typeDiscriminator: "Customer")] @@ -23998,9 +26514,16 @@ public interface IHasCompareDigest : IGraphQLObject [JsonDerivedType(typeof(DiscountNode), typeDiscriminator: "DiscountNode")] [JsonDerivedType(typeof(DraftOrder), typeDiscriminator: "DraftOrder")] [JsonDerivedType(typeof(Order), typeDiscriminator: "Order")] + [JsonDerivedType(typeof(Page), typeDiscriminator: "Page")] [JsonDerivedType(typeof(PriceRule), typeDiscriminator: "PriceRule")] + [JsonDerivedType(typeof(Product), typeDiscriminator: "Product")] + [JsonDerivedType(typeof(ProductVariant), typeDiscriminator: "ProductVariant")] public interface IHasEvents : IGraphQLObject { + public Article? AsArticle() => this as Article; + public Blog? AsBlog() => this as Blog; + public Collection? AsCollection() => this as Collection; + public Comment? AsComment() => this as Comment; public Company? AsCompany() => this as Company; public CompanyLocation? AsCompanyLocation() => this as CompanyLocation; public Customer? AsCustomer() => this as Customer; @@ -24010,7 +26533,10 @@ public interface IHasEvents : IGraphQLObject public DiscountNode? AsDiscountNode() => this as DiscountNode; public DraftOrder? AsDraftOrder() => this as DraftOrder; public Order? AsOrder() => this as Order; + public Page? AsPage() => this as Page; public PriceRule? AsPriceRule() => this as PriceRule; + public Product? AsProduct() => this as Product; + public ProductVariant? AsProductVariant() => this as ProductVariant; /// ///The paginated list of events associated with the host subject. /// @@ -24037,6 +26563,8 @@ public interface IHasLocalizationExtensions : IGraphQLObject ///Resources that metafield definitions can be applied to. /// [JsonPolymorphic(TypeDiscriminatorPropertyName = "__typename")] + [JsonDerivedType(typeof(Article), typeDiscriminator: "Article")] + [JsonDerivedType(typeof(Blog), typeDiscriminator: "Blog")] [JsonDerivedType(typeof(Collection), typeDiscriminator: "Collection")] [JsonDerivedType(typeof(Company), typeDiscriminator: "Company")] [JsonDerivedType(typeof(CompanyLocation), typeDiscriminator: "CompanyLocation")] @@ -24047,10 +26575,8 @@ public interface IHasLocalizationExtensions : IGraphQLObject [JsonDerivedType(typeof(DiscountNode), typeDiscriminator: "DiscountNode")] [JsonDerivedType(typeof(Location), typeDiscriminator: "Location")] [JsonDerivedType(typeof(Market), typeDiscriminator: "Market")] - [JsonDerivedType(typeof(OnlineStoreArticle), typeDiscriminator: "OnlineStoreArticle")] - [JsonDerivedType(typeof(OnlineStoreBlog), typeDiscriminator: "OnlineStoreBlog")] - [JsonDerivedType(typeof(OnlineStorePage), typeDiscriminator: "OnlineStorePage")] [JsonDerivedType(typeof(Order), typeDiscriminator: "Order")] + [JsonDerivedType(typeof(Page), typeDiscriminator: "Page")] [JsonDerivedType(typeof(PaymentCustomization), typeDiscriminator: "PaymentCustomization")] [JsonDerivedType(typeof(Product), typeDiscriminator: "Product")] [JsonDerivedType(typeof(ProductVariant), typeDiscriminator: "ProductVariant")] @@ -24058,6 +26584,8 @@ public interface IHasLocalizationExtensions : IGraphQLObject [JsonDerivedType(typeof(Validation), typeDiscriminator: "Validation")] public interface IHasMetafieldDefinitions : IGraphQLObject { + public Article? AsArticle() => this as Article; + public Blog? AsBlog() => this as Blog; public Collection? AsCollection() => this as Collection; public Company? AsCompany() => this as Company; public CompanyLocation? AsCompanyLocation() => this as CompanyLocation; @@ -24068,10 +26596,8 @@ public interface IHasMetafieldDefinitions : IGraphQLObject public DiscountNode? AsDiscountNode() => this as DiscountNode; public Location? AsLocation() => this as Location; public Market? AsMarket() => this as Market; - public OnlineStoreArticle? AsOnlineStoreArticle() => this as OnlineStoreArticle; - public OnlineStoreBlog? AsOnlineStoreBlog() => this as OnlineStoreBlog; - public OnlineStorePage? AsOnlineStorePage() => this as OnlineStorePage; public Order? AsOrder() => this as Order; + public Page? AsPage() => this as Page; public PaymentCustomization? AsPaymentCustomization() => this as PaymentCustomization; public Product? AsProduct() => this as Product; public ProductVariant? AsProductVariant() => this as ProductVariant; @@ -24089,6 +26615,8 @@ public interface IHasMetafieldDefinitions : IGraphQLObject /// [JsonPolymorphic(TypeDiscriminatorPropertyName = "__typename")] [JsonDerivedType(typeof(AppInstallation), typeDiscriminator: "AppInstallation")] + [JsonDerivedType(typeof(Article), typeDiscriminator: "Article")] + [JsonDerivedType(typeof(Blog), typeDiscriminator: "Blog")] [JsonDerivedType(typeof(CartTransform), typeDiscriminator: "CartTransform")] [JsonDerivedType(typeof(Collection), typeDiscriminator: "Collection")] [JsonDerivedType(typeof(Company), typeDiscriminator: "Company")] @@ -24101,14 +26629,14 @@ public interface IHasMetafieldDefinitions : IGraphQLObject [JsonDerivedType(typeof(DiscountNode), typeDiscriminator: "DiscountNode")] [JsonDerivedType(typeof(DraftOrder), typeDiscriminator: "DraftOrder")] [JsonDerivedType(typeof(FulfillmentConstraintRule), typeDiscriminator: "FulfillmentConstraintRule")] + [JsonDerivedType(typeof(GiftCardCreditTransaction), typeDiscriminator: "GiftCardCreditTransaction")] + [JsonDerivedType(typeof(GiftCardDebitTransaction), typeDiscriminator: "GiftCardDebitTransaction")] [JsonDerivedType(typeof(Image), typeDiscriminator: "Image")] [JsonDerivedType(typeof(Location), typeDiscriminator: "Location")] [JsonDerivedType(typeof(Market), typeDiscriminator: "Market")] [JsonDerivedType(typeof(MediaImage), typeDiscriminator: "MediaImage")] - [JsonDerivedType(typeof(OnlineStoreArticle), typeDiscriminator: "OnlineStoreArticle")] - [JsonDerivedType(typeof(OnlineStoreBlog), typeDiscriminator: "OnlineStoreBlog")] - [JsonDerivedType(typeof(OnlineStorePage), typeDiscriminator: "OnlineStorePage")] [JsonDerivedType(typeof(Order), typeDiscriminator: "Order")] + [JsonDerivedType(typeof(Page), typeDiscriminator: "Page")] [JsonDerivedType(typeof(PaymentCustomization), typeDiscriminator: "PaymentCustomization")] [JsonDerivedType(typeof(Product), typeDiscriminator: "Product")] [JsonDerivedType(typeof(ProductVariant), typeDiscriminator: "ProductVariant")] @@ -24118,6 +26646,8 @@ public interface IHasMetafieldDefinitions : IGraphQLObject public interface IHasMetafields : IGraphQLObject { public AppInstallation? AsAppInstallation() => this as AppInstallation; + public Article? AsArticle() => this as Article; + public Blog? AsBlog() => this as Blog; public CartTransform? AsCartTransform() => this as CartTransform; public Collection? AsCollection() => this as Collection; public Company? AsCompany() => this as Company; @@ -24130,14 +26660,14 @@ public interface IHasMetafields : IGraphQLObject public DiscountNode? AsDiscountNode() => this as DiscountNode; public DraftOrder? AsDraftOrder() => this as DraftOrder; public FulfillmentConstraintRule? AsFulfillmentConstraintRule() => this as FulfillmentConstraintRule; + public GiftCardCreditTransaction? AsGiftCardCreditTransaction() => this as GiftCardCreditTransaction; + public GiftCardDebitTransaction? AsGiftCardDebitTransaction() => this as GiftCardDebitTransaction; public Image? AsImage() => this as Image; public Location? AsLocation() => this as Location; public Market? AsMarket() => this as Market; public MediaImage? AsMediaImage() => this as MediaImage; - public OnlineStoreArticle? AsOnlineStoreArticle() => this as OnlineStoreArticle; - public OnlineStoreBlog? AsOnlineStoreBlog() => this as OnlineStoreBlog; - public OnlineStorePage? AsOnlineStorePage() => this as OnlineStorePage; public Order? AsOrder() => this as Order; + public Page? AsPage() => this as Page; public PaymentCustomization? AsPaymentCustomization() => this as PaymentCustomization; public Product? AsProduct() => this as Product; public ProductVariant? AsProductVariant() => this as ProductVariant; @@ -24173,12 +26703,13 @@ public interface IHasMetafields : IGraphQLObject ///Published translations associated with the resource. /// [JsonPolymorphic(TypeDiscriminatorPropertyName = "__typename")] + [JsonDerivedType(typeof(Article), typeDiscriminator: "Article")] + [JsonDerivedType(typeof(Blog), typeDiscriminator: "Blog")] [JsonDerivedType(typeof(Collection), typeDiscriminator: "Collection")] [JsonDerivedType(typeof(Link), typeDiscriminator: "Link")] [JsonDerivedType(typeof(Menu), typeDiscriminator: "Menu")] - [JsonDerivedType(typeof(OnlineStoreArticle), typeDiscriminator: "OnlineStoreArticle")] - [JsonDerivedType(typeof(OnlineStoreBlog), typeDiscriminator: "OnlineStoreBlog")] - [JsonDerivedType(typeof(OnlineStorePage), typeDiscriminator: "OnlineStorePage")] + [JsonDerivedType(typeof(OnlineStoreTheme), typeDiscriminator: "OnlineStoreTheme")] + [JsonDerivedType(typeof(Page), typeDiscriminator: "Page")] [JsonDerivedType(typeof(Product), typeDiscriminator: "Product")] [JsonDerivedType(typeof(ProductOption), typeDiscriminator: "ProductOption")] [JsonDerivedType(typeof(ProductOptionValue), typeDiscriminator: "ProductOptionValue")] @@ -24189,12 +26720,13 @@ public interface IHasMetafields : IGraphQLObject [JsonDerivedType(typeof(ShopPolicy), typeDiscriminator: "ShopPolicy")] public interface IHasPublishedTranslations : IGraphQLObject { + public Article? AsArticle() => this as Article; + public Blog? AsBlog() => this as Blog; public Collection? AsCollection() => this as Collection; public Link? AsLink() => this as Link; public Menu? AsMenu() => this as Menu; - public OnlineStoreArticle? AsOnlineStoreArticle() => this as OnlineStoreArticle; - public OnlineStoreBlog? AsOnlineStoreBlog() => this as OnlineStoreBlog; - public OnlineStorePage? AsOnlineStorePage() => this as OnlineStorePage; + public OnlineStoreTheme? AsOnlineStoreTheme() => this as OnlineStoreTheme; + public Page? AsPage() => this as Page; public Product? AsProduct() => this as Product; public ProductOption? AsProductOption() => this as ProductOption; public ProductOptionValue? AsProductOptionValue() => this as ProductOptionValue; @@ -25290,6 +27822,10 @@ public enum InventorySetQuantitiesUserErrorCode /// INVALID_QUANTITY_TOO_HIGH, /// + ///The total quantity can't be lower than -1,000,000,000. + /// + INVALID_QUANTITY_TOO_LOW, + /// ///The compareQuantity argument must be given to each quantity or ignored using ignoreCompareQuantity. /// COMPARE_QUANTITY_REQUIRED, @@ -26397,225 +28933,6 @@ public class LineItemGroup : GraphQLObject, INode public string? variantSku { get; set; } } - /// - ///Represents a single line item on an order. - /// - public class LineItemMutable : GraphQLObject, INode - { - /// - ///Whether the line item can be restocked. - /// - [Obsolete("Use `restockable` instead.")] - public bool? canRestock { get; set; } - /// - ///A list of attributes that represent custom features or special requests. - /// - public IEnumerable? customAttributes { get; set; } - /// - ///The discounts that have been allocated onto the line item by discount applications. - /// - public IEnumerable? discountAllocations { get; set; } - - /// - ///The total line price after discounts are applied, in shop currency. - /// - [Obsolete("Use `discountedTotalSet` instead.")] - public decimal? discountedTotal { get; set; } - /// - ///The total line price after discounts are applied, in shop and presentment currencies. - /// - public MoneyBag? discountedTotalSet { get; set; } - - /// - ///The approximate split price of a line item unit, in shop currency. This value doesn't include discounts applied to the entire order. - /// - [Obsolete("Use `discountedUnitPriceSet` instead.")] - public decimal? discountedUnitPrice { get; set; } - /// - ///The approximate split price of a line item unit, in shop and presentment currencies. This value doesn't include discounts applied to the entire order. - /// - public MoneyBag? discountedUnitPriceSet { get; set; } - /// - ///The total number of units to fulfill. - /// - public int? fulfillableQuantity { get; set; } - /// - ///The service provider that fulfills the line item. - /// - ///Deleted fulfillment services will return null. - /// - public FulfillmentService? fulfillmentService { get; set; } - /// - ///The line item's fulfillment status. Returns 'fulfilled' if fulfillableQuantity >= quantity, - ///'partial' if fulfillableQuantity > 0, and 'unfulfilled' otherwise. - /// - public string? fulfillmentStatus { get; set; } - /// - ///A globally-unique ID. - /// - public string? id { get; set; } - /// - ///The image associated to the line item's variant. - /// - public Image? image { get; set; } - /// - ///Whether the line item represents the purchase of a gift card. - /// - public bool? isGiftCard { get; set; } - /// - ///Whether the line item can be edited or not. - /// - public bool? merchantEditable { get; set; } - /// - ///The name of the product. - /// - public string? name { get; set; } - /// - ///The total number of units that can't be fulfilled. For example, if items have been refunded, or the item isn't something that can be fulfilled, like a tip. - /// - public int? nonFulfillableQuantity { get; set; } - - /// - ///The total price without any discounts applied, in shop currency. ""This value is based on the unit price of the variant x quantity. - /// - [Obsolete("Use `originalTotalSet` instead.")] - public decimal? originalTotal { get; set; } - /// - ///The total price in shop and presentment currencies, without discounts applied. This value is based on the unit price of the variant x quantity. - /// - public MoneyBag? originalTotalSet { get; set; } - - /// - ///The variant unit price without discounts applied, in shop currency. - /// - [Obsolete("Use `originalUnitPriceSet` instead.")] - public decimal? originalUnitPrice { get; set; } - /// - ///The variant unit price without discounts applied, in shop and presentment currencies. - /// - public MoneyBag? originalUnitPriceSet { get; set; } - /// - ///The Product object associated with this line item's variant. - /// - public Product? product { get; set; } - /// - ///The number of variant units ordered. - /// - public int? quantity { get; set; } - /// - ///The line item's quantity, minus the refunded quantity. - /// - public int? refundableQuantity { get; set; } - /// - ///Whether physical shipping is required for the variant. - /// - public bool? requiresShipping { get; set; } - /// - ///Whether the line item can be restocked. - /// - public bool? restockable { get; set; } - /// - ///The variant SKU number. - /// - public string? sku { get; set; } - /// - ///Staff attributed to the line item. - /// - public StaffMember? staffMember { get; set; } - /// - ///The TaxLine object connected to this line item. - /// - public IEnumerable? taxLines { get; set; } - /// - ///Whether the variant is taxable. - /// - public bool? taxable { get; set; } - /// - ///The title of the product. - /// - public string? title { get; set; } - - /// - ///The total amount of the discount allocated to the line item in the shop currency. This field must be explicitly set using draft orders, Shopify scripts, or the API. Instead of using this field, Shopify recommends using `discountAllocations`, which provides the same information. - /// - [Obsolete("Use `totalDiscountSet` instead.")] - public decimal? totalDiscount { get; set; } - /// - ///The total amount of the discount allocated to the line item in the presentment currency. This field must be explicitly set using draft orders, Shopify scripts, or the API. Instead of using this field, Shopify recommends using `discountAllocations`, which provides the same information. - /// - public MoneyBag? totalDiscountSet { get; set; } - - /// - ///The total discounted value of unfulfilled units, in shop currency. - /// - [Obsolete("Use `unfulfilledDiscountedTotalSet` instead.")] - public decimal? unfulfilledDiscountedTotal { get; set; } - /// - ///The total discounted value of unfulfilled units, in shop and presentment currencies. - /// - public MoneyBag? unfulfilledDiscountedTotalSet { get; set; } - - /// - ///The total price without any discounts applied. This value is based on the unit price of the variant x quantity of all unfulfilled units, in shop currency. - /// - [Obsolete("Use `unfulfilledOriginalTotalSet` instead.")] - public decimal? unfulfilledOriginalTotal { get; set; } - /// - ///The total price without any discounts applied. This value is based on the unit price of the variant x quantity of all unfulfilled units, in shop and presentment currencies. - /// - public MoneyBag? unfulfilledOriginalTotalSet { get; set; } - /// - ///The number of units not yet fulfilled. - /// - public int? unfulfilledQuantity { get; set; } - /// - ///The Variant object associated with this line item. - /// - public ProductVariant? variant { get; set; } - /// - ///The name of the variant. - /// - public string? variantTitle { get; set; } - /// - ///The name of the vendor who made the variant. - /// - public string? vendor { get; set; } - } - - /// - ///An auto-generated type for paginating through multiple LineItemMutables. - /// - public class LineItemMutableConnection : GraphQLObject, IConnectionWithNodesAndEdges - { - /// - ///The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. - /// - public IEnumerable? edges { get; set; } - /// - ///A list of nodes that are contained in LineItemMutableEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. - /// - public IEnumerable? nodes { get; set; } - /// - ///An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. - /// - public PageInfo? pageInfo { get; set; } - } - - /// - ///An auto-generated type which holds one LineItemMutable and a cursor during pagination. - /// - public class LineItemMutableEdge : GraphQLObject, IEdge - { - /// - ///The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). - /// - public string? cursor { get; set; } - /// - ///The item at the end of LineItemMutableEdge. - /// - public LineItemMutable? node { get; set; } - } - /// ///Represents the selling plan for a line item. /// @@ -26667,6 +28984,21 @@ public class LinkedMetafield : GraphQLObject public string? @namespace { get; set; } } + /// + ///Local payment methods payment details related to a transaction. + /// + public class LocalPaymentMethodsPaymentDetails : GraphQLObject, IBasePaymentDetails, IPaymentDetails + { + /// + ///The descriptor by the payment provider. Only available for Amazon Pay and Buy with Prime. + /// + public string? paymentDescriptor { get; set; } + /// + ///The name of payment method used by the buyer. + /// + public string? paymentMethodName { get; set; } + } + /// ///A locale. /// @@ -27436,10 +29768,6 @@ public enum LocationDeactivateUserErrorCode /// HAS_FULFILLMENT_ORDERS_ERROR, /// - ///Location could not be deactivated because it has open transfers. - /// - HAS_OPEN_TRANSFERS_ERROR, - /// ///Location could not be deactivated because it has open Shopify Fulfillment Network transfers. /// HAS_INCOMING_MOVEMENTS_ERROR, @@ -27452,10 +29780,6 @@ public enum LocationDeactivateUserErrorCode /// FAILED_TO_RELOCATE_ACTIVE_INVENTORIES, /// - ///Failed to relocate open transfers to the destination location. - /// - FAILED_TO_RELOCATE_OPEN_TRANSFERS, - /// ///Failed to relocate open purchase orders to the destination location. /// FAILED_TO_RELOCATE_OPEN_PURCHASE_ORDERS, @@ -30969,6 +33293,55 @@ public enum MetafieldAdminAccessInput MERCHANT_READ_WRITE, } + /// + ///Provides the capabilities of a metafield definition. + /// + public class MetafieldCapabilities : GraphQLObject + { + /// + ///Indicate whether a metafield definition is configured for filtering. + /// + public MetafieldCapabilityAdminFilterable? adminFilterable { get; set; } + /// + ///Indicate whether a metafield definition can be used as a smart collection condition. + /// + public MetafieldCapabilitySmartCollectionCondition? smartCollectionCondition { get; set; } + } + + /// + ///Information about the admin filterable capability on a metafield definition. + /// + public class MetafieldCapabilityAdminFilterable : GraphQLObject + { + /// + ///Indicates if the definition is eligible to have the capability. + /// + public bool? eligible { get; set; } + /// + ///Indicates if the capability is enabled. + /// + public bool? enabled { get; set; } + /// + ///Determines the metafield definition's filter status for use in admin filtering. + /// + public MetafieldDefinitionAdminFilterStatus? status { get; set; } + } + + /// + ///Information about the smart collection condition capability on a metafield definition. + /// + public class MetafieldCapabilitySmartCollectionCondition : GraphQLObject + { + /// + ///Indicates if the definition is eligible to have the capability. + /// + public bool? eligible { get; set; } + /// + ///Indicates if the capability is enabled. + /// + public bool? enabled { get; set; } + } + /// ///An auto-generated type for paginating through multiple Metafields. /// @@ -31037,6 +33410,10 @@ public class MetafieldDefinition : GraphQLObject, INode /// public MetafieldAccess? access { get; set; } /// + ///The capabilities of the metafield definition. + /// + public MetafieldCapabilities? capabilities { get; set; } + /// ///The constraints that determine what subtypes of resources a metafield definition applies to. /// public MetafieldDefinitionConstraints? constraints { get; set; } @@ -31108,6 +33485,29 @@ public class MetafieldDefinition : GraphQLObject, INode public bool? visibleToStorefrontApi { get; set; } } + /// + ///Possible filter statuses associated with a metafield definition for use in admin filtering. + /// + public enum MetafieldDefinitionAdminFilterStatus + { + /// + ///The metafield definition cannot be used for admin filtering. + /// + NOT_FILTERABLE, + /// + ///The metafield definition's metafields are currently being processed for admin filtering. + /// + IN_PROGRESS, + /// + ///The metafield definition allows admin filtering by matching metafield values. + /// + FILTERABLE, + /// + ///The metafield definition has failed to be enabled for admin filtering. + /// + FAILED, + } + /// ///An auto-generated type for paginating through multiple MetafieldDefinitions. /// @@ -31321,6 +33721,10 @@ public enum MetafieldDefinitionCreateUserErrorCode ///The input combination is invalid. /// INVALID_INPUT_COMBINATION, + /// + ///The metafield definition capability is invalid. + /// + INVALID_CAPABILITY, } /// @@ -31711,6 +34115,14 @@ public enum MetafieldDefinitionUpdateUserErrorCode ///The input combination is invalid. /// INVALID_INPUT_COMBINATION, + /// + ///The metafield definition capability is invalid. + /// + INVALID_CAPABILITY, + /// + ///The metafield definition capability cannot be disabled. + /// + CAPABILITY_CANNOT_BE_DISABLED, } /// @@ -31858,6 +34270,10 @@ public enum MetafieldOwnerType /// DRAFTORDER, /// + ///The GiftCardTransaction metafield owner type. + /// + GIFT_CARD_TRANSACTION, + /// ///The Market metafield owner type. /// MARKET, @@ -31875,11 +34291,6 @@ public enum MetafieldOwnerType [Obsolete("`MEDIA_IMAGE` is deprecated.")] MEDIA_IMAGE, /// - ///The Product Image metafield owner type. - /// - [Obsolete("`PRODUCTIMAGE` is deprecated. Use `MEDIA_IMAGE` instead.")] - PRODUCTIMAGE, - /// ///The Product metafield owner type. /// PRODUCT, @@ -31940,8 +34351,8 @@ public enum MetafieldOwnerType [JsonDerivedType(typeof(MediaImage), typeDiscriminator: "MediaImage")] [JsonDerivedType(typeof(Metaobject), typeDiscriminator: "Metaobject")] [JsonDerivedType(typeof(Model3d), typeDiscriminator: "Model3d")] - [JsonDerivedType(typeof(OnlineStorePage), typeDiscriminator: "OnlineStorePage")] [JsonDerivedType(typeof(Order), typeDiscriminator: "Order")] + [JsonDerivedType(typeof(Page), typeDiscriminator: "Page")] [JsonDerivedType(typeof(Product), typeDiscriminator: "Product")] [JsonDerivedType(typeof(ProductVariant), typeDiscriminator: "ProductVariant")] [JsonDerivedType(typeof(TaxonomyValue), typeDiscriminator: "TaxonomyValue")] @@ -31955,8 +34366,8 @@ public interface IMetafieldReference : IGraphQLObject public MediaImage? AsMediaImage() => this as MediaImage; public Metaobject? AsMetaobject() => this as Metaobject; public Model3d? AsModel3d() => this as Model3d; - public OnlineStorePage? AsOnlineStorePage() => this as OnlineStorePage; public Order? AsOrder() => this as Order; + public Page? AsPage() => this as Page; public Product? AsProduct() => this as Product; public ProductVariant? AsProductVariant() => this as ProductVariant; public TaxonomyValue? AsTaxonomyValue() => this as TaxonomyValue; @@ -32006,6 +34417,8 @@ public class MetafieldReferenceEdge : GraphQLObject, IEd /// [JsonPolymorphic(TypeDiscriminatorPropertyName = "__typename")] [JsonDerivedType(typeof(AppInstallation), typeDiscriminator: "AppInstallation")] + [JsonDerivedType(typeof(Article), typeDiscriminator: "Article")] + [JsonDerivedType(typeof(Blog), typeDiscriminator: "Blog")] [JsonDerivedType(typeof(Collection), typeDiscriminator: "Collection")] [JsonDerivedType(typeof(Company), typeDiscriminator: "Company")] [JsonDerivedType(typeof(CompanyLocation), typeDiscriminator: "CompanyLocation")] @@ -32019,10 +34432,8 @@ public class MetafieldReferenceEdge : GraphQLObject, IEd [JsonDerivedType(typeof(Location), typeDiscriminator: "Location")] [JsonDerivedType(typeof(Market), typeDiscriminator: "Market")] [JsonDerivedType(typeof(Metaobject), typeDiscriminator: "Metaobject")] - [JsonDerivedType(typeof(OnlineStoreArticle), typeDiscriminator: "OnlineStoreArticle")] - [JsonDerivedType(typeof(OnlineStoreBlog), typeDiscriminator: "OnlineStoreBlog")] - [JsonDerivedType(typeof(OnlineStorePage), typeDiscriminator: "OnlineStorePage")] [JsonDerivedType(typeof(Order), typeDiscriminator: "Order")] + [JsonDerivedType(typeof(Page), typeDiscriminator: "Page")] [JsonDerivedType(typeof(PaymentCustomization), typeDiscriminator: "PaymentCustomization")] [JsonDerivedType(typeof(Product), typeDiscriminator: "Product")] [JsonDerivedType(typeof(ProductVariant), typeDiscriminator: "ProductVariant")] @@ -32030,6 +34441,8 @@ public class MetafieldReferenceEdge : GraphQLObject, IEd public interface IMetafieldReferencer : IGraphQLObject { public AppInstallation? AsAppInstallation() => this as AppInstallation; + public Article? AsArticle() => this as Article; + public Blog? AsBlog() => this as Blog; public Collection? AsCollection() => this as Collection; public Company? AsCompany() => this as Company; public CompanyLocation? AsCompanyLocation() => this as CompanyLocation; @@ -32043,10 +34456,8 @@ public interface IMetafieldReferencer : IGraphQLObject public Location? AsLocation() => this as Location; public Market? AsMarket() => this as Market; public Metaobject? AsMetaobject() => this as Metaobject; - public OnlineStoreArticle? AsOnlineStoreArticle() => this as OnlineStoreArticle; - public OnlineStoreBlog? AsOnlineStoreBlog() => this as OnlineStoreBlog; - public OnlineStorePage? AsOnlineStorePage() => this as OnlineStorePage; public Order? AsOrder() => this as Order; + public Page? AsPage() => this as Page; public PaymentCustomization? AsPaymentCustomization() => this as PaymentCustomization; public Product? AsProduct() => this as Product; public ProductVariant? AsProductVariant() => this as ProductVariant; @@ -33513,6 +35924,10 @@ public class Mutation : GraphQLObject /// public AppPurchaseOneTimeCreatePayload? appPurchaseOneTimeCreate { get; set; } /// + ///Revokes access scopes previously granted for an app installation. + /// + public AppRevokeAccessScopesPayload? appRevokeAccessScopes { get; set; } + /// ///Cancels an app subscription on a store. /// public AppSubscriptionCancelPayload? appSubscriptionCancel { get; set; } @@ -33535,6 +35950,30 @@ public class Mutation : GraphQLObject /// public AppUsageRecordCreatePayload? appUsageRecordCreate { get; set; } /// + ///Creates an article. + /// + public ArticleCreatePayload? articleCreate { get; set; } + /// + ///Deletes an article. + /// + public ArticleDeletePayload? articleDelete { get; set; } + /// + ///Updates an article. + /// + public ArticleUpdatePayload? articleUpdate { get; set; } + /// + ///Creates a blog. + /// + public BlogCreatePayload? blogCreate { get; set; } + /// + ///Deletes a blog. + /// + public BlogDeletePayload? blogDelete { get; set; } + /// + ///Updates a blog. + /// + public BlogUpdatePayload? blogUpdate { get; set; } + /// ///Starts the cancelation process of a running bulk operation. /// ///There may be a short delay from when a cancelation starts until the operation is actually canceled. @@ -33663,6 +36102,22 @@ public class Mutation : GraphQLObject /// public CombinedListingUpdatePayload? combinedListingUpdate { get; set; } /// + ///Approves a comment. + /// + public CommentApprovePayload? commentApprove { get; set; } + /// + ///Deletes a comment. + /// + public CommentDeletePayload? commentDelete { get; set; } + /// + ///Marks a comment as not spam. + /// + public CommentNotSpamPayload? commentNotSpam { get; set; } + /// + ///Marks a comment as spam. + /// + public CommentSpamPayload? commentSpam { get; set; } + /// ///Deletes a list of companies. /// public CompaniesDeletePayload? companiesDelete { get; set; } @@ -33735,6 +36190,10 @@ public class Mutation : GraphQLObject /// public CompanyLocationAssignRolesPayload? companyLocationAssignRoles { get; set; } /// + ///Creates one or more mappings between a staff member at a shop and a company location. + /// + public CompanyLocationAssignStaffMembersPayload? companyLocationAssignStaffMembers { get; set; } + /// ///Assigns tax exemptions to the company location. /// public CompanyLocationAssignTaxExemptionsPayload? companyLocationAssignTaxExemptions { get; set; } @@ -33751,6 +36210,10 @@ public class Mutation : GraphQLObject /// public CompanyLocationDeletePayload? companyLocationDelete { get; set; } /// + ///Deletes one or more existing mappings between a staff member at a shop and a company location. + /// + public CompanyLocationRemoveStaffMembersPayload? companyLocationRemoveStaffMembers { get; set; } + /// ///Revokes roles on a company location. /// public CompanyLocationRevokeRolesPayload? companyLocationRevokeRoles { get; set; } @@ -33883,6 +36346,10 @@ public class Mutation : GraphQLObject /// public CustomerSegmentMembersQueryCreatePayload? customerSegmentMembersQueryCreate { get; set; } /// + ///Sends the customer an account invite email. + /// + public CustomerSendAccountInviteEmailPayload? customerSendAccountInviteEmail { get; set; } + /// ///Update a customer's SMS marketing consent information. /// public CustomerSmsMarketingConsentUpdatePayload? customerSmsMarketingConsentUpdate { get; set; } @@ -34191,6 +36658,15 @@ public class Mutation : GraphQLObject ///Deletes a fulfillment constraint rule and its metafields. /// public FulfillmentConstraintRuleDeletePayload? fulfillmentConstraintRuleDelete { get; set; } + /// + ///Update a fulfillment constraint rule. + /// + public FulfillmentConstraintRuleUpdatePayload? fulfillmentConstraintRuleUpdate { get; set; } + /// + ///Creates a fulfillment for one or many fulfillment orders. + ///The fulfillment orders are associated with the same order and are assigned to the same location. + /// + public FulfillmentCreatePayload? fulfillmentCreate { get; set; } /// ///Creates a fulfillment for one or many fulfillment orders. @@ -34307,12 +36783,6 @@ public class Mutation : GraphQLObject ///Sends a fulfillment request to the fulfillment service of a fulfillment order. /// public FulfillmentOrderSubmitFulfillmentRequestPayload? fulfillmentOrderSubmitFulfillmentRequest { get; set; } - - /// - ///Releases the fulfillment holds on a list of fulfillment orders. - /// - [Obsolete("This mutation is deprecated and will be removed in the 2024-10 API version.\n Consider using the fulfillmentOrderReleaseHold mutation instead.")] - public FulfillmentOrdersReleaseHoldsPayload? fulfillmentOrdersReleaseHolds { get; set; } /// ///Sets the latest date and time by which the fulfillment orders need to be fulfilled. /// @@ -34348,6 +36818,10 @@ public class Mutation : GraphQLObject ///mutation. /// public FulfillmentServiceUpdatePayload? fulfillmentServiceUpdate { get; set; } + /// + ///Updates tracking information for a fulfillment. + /// + public FulfillmentTrackingInfoUpdatePayload? fulfillmentTrackingInfoUpdate { get; set; } /// ///Updates tracking information for a fulfillment. @@ -34358,12 +36832,27 @@ public class Mutation : GraphQLObject ///Create a gift card. /// public GiftCardCreatePayload? giftCardCreate { get; set; } - /// - ///Disable a gift card. A disabled gift card cannot be used by a customer. A disabled gift card cannot be re-enabled. + ///Credit a gift card. + /// + public GiftCardCreditPayload? giftCardCredit { get; set; } + /// + ///Deactivate a gift card. A deactivated gift card cannot be used by a customer. + ///A deactivated gift card cannot be re-enabled. /// - [Obsolete("Use `giftCardDeactivate` instead.")] - public GiftCardDisablePayload? giftCardDisable { get; set; } + public GiftCardDeactivatePayload? giftCardDeactivate { get; set; } + /// + ///Debit a gift card. + /// + public GiftCardDebitPayload? giftCardDebit { get; set; } + /// + ///Send notification to the customer of a gift card. + /// + public GiftCardSendNotificationToCustomerPayload? giftCardSendNotificationToCustomer { get; set; } + /// + ///Send notification to the recipient of a gift card. + /// + public GiftCardSendNotificationToRecipientPayload? giftCardSendNotificationToRecipient { get; set; } /// ///Update a gift card. /// @@ -34675,6 +37164,10 @@ public class Mutation : GraphQLObject /// public OrderClosePayload? orderClose { get; set; } /// + ///Creates an order. + /// + public OrderCreatePayload? orderCreate { get; set; } + /// ///Creates a payment for an order by mandate. /// public OrderCreateMandatePaymentPayload? orderCreateMandatePayment { get; set; } @@ -34755,6 +37248,18 @@ public class Mutation : GraphQLObject /// public OrderUpdatePayload? orderUpdate { get; set; } /// + ///Creates a page. + /// + public PageCreatePayload? pageCreate { get; set; } + /// + ///Deletes a page. + /// + public PageDeletePayload? pageDelete { get; set; } + /// + ///Updates a page. + /// + public PageUpdatePayload? pageUpdate { get; set; } + /// ///Activates and deactivates payment customizations. /// public PaymentCustomizationActivationPayload? paymentCustomizationActivation { get; set; } @@ -34816,48 +37321,6 @@ public class Mutation : GraphQLObject /// public PriceListUpdatePayload? priceListUpdate { get; set; } - /// - ///Activate a price rule. - /// - [Obsolete("Use `discountCodeActivate` instead.")] - public PriceRuleActivatePayload? priceRuleActivate { get; set; } - - /// - ///Create a price rule using the input. - /// - [Obsolete("Use `discountCodeBasicCreate` instead.")] - public PriceRuleCreatePayload? priceRuleCreate { get; set; } - - /// - ///Deactivate a price rule. - /// - [Obsolete("Use `discountCodeDeactivate` instead.")] - public PriceRuleDeactivatePayload? priceRuleDeactivate { get; set; } - - /// - ///Delete a price rule. - /// - [Obsolete("Use `discountCodeDelete` instead.")] - public PriceRuleDeletePayload? priceRuleDelete { get; set; } - - /// - ///Create a discount code for a price rule. - /// - [Obsolete("Use `discountRedeemCodeBulkAdd` instead.")] - public PriceRuleDiscountCodeCreatePayload? priceRuleDiscountCodeCreate { get; set; } - - /// - ///Update a discount code for a price rule. - /// - [Obsolete("Use `discountCodeBasicUpdate` instead.")] - public PriceRuleDiscountCodeUpdatePayload? priceRuleDiscountCodeUpdate { get; set; } - - /// - ///Updates a price rule using its ID and an input. - /// - [Obsolete("Use `discountCodeBasicUpdate` instead.")] - public PriceRuleUpdatePayload? priceRuleUpdate { get; set; } - /// ///Deletes a private metafield. ///Private metafields are automatically deleted when the app that created them is uninstalled. @@ -34873,12 +37336,6 @@ public class Mutation : GraphQLObject /// [Obsolete("Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).")] public PrivateMetafieldUpsertPayload? privateMetafieldUpsert { get; set; } - - /// - ///Appends images to a product. - /// - [Obsolete("Use `productCreateMedia` instead.")] - public ProductAppendImagesPayload? productAppendImages { get; set; } /// ///Creates a new componentized product. /// @@ -34916,18 +37373,6 @@ public class Mutation : GraphQLObject ///mutation. /// public ProductDeletePayload? productDelete { get; set; } - - /// - ///Deletes a product asynchronously, including all associated variants and media. - /// - [Obsolete("Use `productDelete` instead.")] - public ProductDeleteAsyncPayload? productDeleteAsync { get; set; } - - /// - ///Removes product images from the product. - /// - [Obsolete("Use `productDeleteMedia` instead.")] - public ProductDeleteImagesPayload? productDeleteImages { get; set; } /// ///Deletes media for a product. /// @@ -34948,14 +37393,6 @@ public class Mutation : GraphQLObject ///In API version 2024-07 and lower, use the asynchronous [`ProductDuplicateAsyncV2`](https://shopify.dev/api/admin-graphql/2024-07/mutations/productDuplicateAsyncV2). /// public ProductDuplicatePayload? productDuplicate { get; set; } - - /// - ///Asynchronously duplicate a single product. - /// - ///For API version 2024-10 and higher, use the `productDuplicate` mutation with the `synchronous: false` argument instead. - /// - [Obsolete("Use `productDuplicate` instead.")] - public ProductDuplicateAsyncV2Payload? productDuplicateAsyncV2 { get; set; } /// ///Creates a product feed for a specific publication. /// @@ -34968,12 +37405,6 @@ public class Mutation : GraphQLObject ///Runs the full product sync for a given shop. /// public ProductFullSyncPayload? productFullSync { get; set; } - - /// - ///Updates an image of a product. - /// - [Obsolete("Use `productUpdateMedia` instead.")] - public ProductImageUpdatePayload? productImageUpdate { get; set; } /// ///Adds multiple selling plan groups to a product. /// @@ -35026,12 +37457,6 @@ public class Mutation : GraphQLObject /// [Obsolete("Use `publishablePublish` instead.")] public ProductPublishPayload? productPublish { get; set; } - - /// - ///Asynchronously reorders a set of images for a given product. - /// - [Obsolete("Use `productReorderMedia` instead.")] - public ProductReorderImagesPayload? productReorderImages { get; set; } /// ///Asynchronously reorders the media attached to a product. /// @@ -35110,18 +37535,6 @@ public class Mutation : GraphQLObject ///Appends media from a product to variants of the product. /// public ProductVariantAppendMediaPayload? productVariantAppendMedia { get; set; } - - /// - ///Creates a product variant. - /// - [Obsolete("Use `productVariantsBulkCreate` instead.")] - public ProductVariantCreatePayload? productVariantCreate { get; set; } - - /// - ///Deletes a product variant. - /// - [Obsolete("Use `productVariantsBulkDelete` instead.")] - public ProductVariantDeletePayload? productVariantDelete { get; set; } /// ///Detaches media from product variants. /// @@ -35138,12 +37551,6 @@ public class Mutation : GraphQLObject ///Creates new bundles, updates existing bundles, and removes bundle components for one or multiple bundles. /// public ProductVariantRelationshipBulkUpdatePayload? productVariantRelationshipBulkUpdate { get; set; } - - /// - ///Updates a product variant. - /// - [Obsolete("Use `productVariantsBulkUpdate` instead.")] - public ProductVariantUpdatePayload? productVariantUpdate { get; set; } /// ///Creates multiple variants in a single product. This mutation can be called directly or via the bulkOperation. /// @@ -35272,12 +37679,6 @@ public class Mutation : GraphQLObject ///Creates a new reverse delivery with associated external shipping information. /// public ReverseDeliveryCreateWithShippingPayload? reverseDeliveryCreateWithShipping { get; set; } - - /// - ///Disposes reverse delivery line items for a reverse delivery on the same shop. - /// - [Obsolete("`reverseDeliveryDispose` will be removed in API version 2024-10. Use `reverseFulfillmentOrderDispose` instead.")] - public ReverseDeliveryDisposePayload? reverseDeliveryDispose { get; set; } /// ///Updates a reverse delivery with associated external shipping information. /// @@ -35629,6 +38030,36 @@ public class Mutation : GraphQLObject /// public TaxAppConfigurePayload? taxAppConfigure { get; set; } /// + ///Creates a theme using an external URL or for files that were previously uploaded using the + ///[stagedUploadsCreate mutation](https://shopify.dev/api/admin-graphql/latest/mutations/stageduploadscreate). + ///These themes are added to the [Themes page](https://admin.shopify.com/themes) in Shopify admin. + /// + public ThemeCreatePayload? themeCreate { get; set; } + /// + ///Deletes a theme. + /// + public ThemeDeletePayload? themeDelete { get; set; } + /// + ///Copy theme files. Copying to existing theme files will overwrite them. + /// + public ThemeFilesCopyPayload? themeFilesCopy { get; set; } + /// + ///Deletes a theme's files. + /// + public ThemeFilesDeletePayload? themeFilesDelete { get; set; } + /// + ///Create or update theme files. + /// + public ThemeFilesUpsertPayload? themeFilesUpsert { get; set; } + /// + ///Publishes a theme. + /// + public ThemePublishPayload? themePublish { get; set; } + /// + ///Updates a theme. + /// + public ThemeUpdatePayload? themeUpdate { get; set; } + /// ///Trigger the voiding of an uncaptured authorization transaction. /// public TransactionVoidPayload? transactionVoid { get; set; } @@ -35759,21 +38190,25 @@ public class MutationsStagedUploadTargetGenerateUploadParameter : GraphQLObject< /// [JsonPolymorphic(TypeDiscriminatorPropertyName = "__typename")] [JsonDerivedType(typeof(AbandonedCheckout), typeDiscriminator: "AbandonedCheckout")] + [JsonDerivedType(typeof(Article), typeDiscriminator: "Article")] [JsonDerivedType(typeof(Company), typeDiscriminator: "Company")] [JsonDerivedType(typeof(CompanyLocation), typeDiscriminator: "CompanyLocation")] + [JsonDerivedType(typeof(CustomerAccountAppExtensionPage), typeDiscriminator: "CustomerAccountAppExtensionPage")] + [JsonDerivedType(typeof(CustomerAccountNativePage), typeDiscriminator: "CustomerAccountNativePage")] [JsonDerivedType(typeof(DraftOrder), typeDiscriminator: "DraftOrder")] - [JsonDerivedType(typeof(OnlineStoreArticle), typeDiscriminator: "OnlineStoreArticle")] - [JsonDerivedType(typeof(OnlineStorePage), typeDiscriminator: "OnlineStorePage")] + [JsonDerivedType(typeof(Page), typeDiscriminator: "Page")] [JsonDerivedType(typeof(Product), typeDiscriminator: "Product")] [JsonDerivedType(typeof(ProductVariant), typeDiscriminator: "ProductVariant")] public interface INavigable : IGraphQLObject { public AbandonedCheckout? AsAbandonedCheckout() => this as AbandonedCheckout; + public Article? AsArticle() => this as Article; public Company? AsCompany() => this as Company; public CompanyLocation? AsCompanyLocation() => this as CompanyLocation; + public CustomerAccountAppExtensionPage? AsCustomerAccountAppExtensionPage() => this as CustomerAccountAppExtensionPage; + public CustomerAccountNativePage? AsCustomerAccountNativePage() => this as CustomerAccountNativePage; public DraftOrder? AsDraftOrder() => this as DraftOrder; - public OnlineStoreArticle? AsOnlineStoreArticle() => this as OnlineStoreArticle; - public OnlineStorePage? AsOnlineStorePage() => this as OnlineStorePage; + public Page? AsPage() => this as Page; public Product? AsProduct() => this as Product; public ProductVariant? AsProductVariant() => this as ProductVariant; /// @@ -35821,8 +38256,11 @@ public class NavigationItem : GraphQLObject [JsonDerivedType(typeof(AppRevenueAttributionRecord), typeDiscriminator: "AppRevenueAttributionRecord")] [JsonDerivedType(typeof(AppSubscription), typeDiscriminator: "AppSubscription")] [JsonDerivedType(typeof(AppUsageRecord), typeDiscriminator: "AppUsageRecord")] + [JsonDerivedType(typeof(Article), typeDiscriminator: "Article")] [JsonDerivedType(typeof(BasicEvent), typeDiscriminator: "BasicEvent")] + [JsonDerivedType(typeof(Blog), typeDiscriminator: "Blog")] [JsonDerivedType(typeof(BulkOperation), typeDiscriminator: "BulkOperation")] + [JsonDerivedType(typeof(BusinessEntity), typeDiscriminator: "BusinessEntity")] [JsonDerivedType(typeof(CalculatedOrder), typeDiscriminator: "CalculatedOrder")] [JsonDerivedType(typeof(CartTransform), typeDiscriminator: "CartTransform")] [JsonDerivedType(typeof(CashTrackingAdjustment), typeDiscriminator: "CashTrackingAdjustment")] @@ -35833,6 +38271,7 @@ public class NavigationItem : GraphQLObject [JsonDerivedType(typeof(ChannelInformation), typeDiscriminator: "ChannelInformation")] [JsonDerivedType(typeof(CheckoutProfile), typeDiscriminator: "CheckoutProfile")] [JsonDerivedType(typeof(Collection), typeDiscriminator: "Collection")] + [JsonDerivedType(typeof(Comment), typeDiscriminator: "Comment")] [JsonDerivedType(typeof(CommentEvent), typeDiscriminator: "CommentEvent")] [JsonDerivedType(typeof(Company), typeDiscriminator: "Company")] [JsonDerivedType(typeof(CompanyAddress), typeDiscriminator: "CompanyAddress")] @@ -35841,7 +38280,10 @@ public class NavigationItem : GraphQLObject [JsonDerivedType(typeof(CompanyContactRoleAssignment), typeDiscriminator: "CompanyContactRoleAssignment")] [JsonDerivedType(typeof(CompanyLocation), typeDiscriminator: "CompanyLocation")] [JsonDerivedType(typeof(CompanyLocationCatalog), typeDiscriminator: "CompanyLocationCatalog")] + [JsonDerivedType(typeof(CompanyLocationStaffMemberAssignment), typeDiscriminator: "CompanyLocationStaffMemberAssignment")] [JsonDerivedType(typeof(Customer), typeDiscriminator: "Customer")] + [JsonDerivedType(typeof(CustomerAccountAppExtensionPage), typeDiscriminator: "CustomerAccountAppExtensionPage")] + [JsonDerivedType(typeof(CustomerAccountNativePage), typeDiscriminator: "CustomerAccountNativePage")] [JsonDerivedType(typeof(CustomerPaymentMethod), typeDiscriminator: "CustomerPaymentMethod")] [JsonDerivedType(typeof(CustomerSegmentMembersQuery), typeDiscriminator: "CustomerSegmentMembersQuery")] [JsonDerivedType(typeof(CustomerVisit), typeDiscriminator: "CustomerVisit")] @@ -35875,6 +38317,7 @@ public class NavigationItem : GraphQLObject [JsonDerivedType(typeof(Fulfillment), typeDiscriminator: "Fulfillment")] [JsonDerivedType(typeof(FulfillmentConstraintRule), typeDiscriminator: "FulfillmentConstraintRule")] [JsonDerivedType(typeof(FulfillmentEvent), typeDiscriminator: "FulfillmentEvent")] + [JsonDerivedType(typeof(FulfillmentHold), typeDiscriminator: "FulfillmentHold")] [JsonDerivedType(typeof(FulfillmentLineItem), typeDiscriminator: "FulfillmentLineItem")] [JsonDerivedType(typeof(FulfillmentOrder), typeDiscriminator: "FulfillmentOrder")] [JsonDerivedType(typeof(FulfillmentOrderDestination), typeDiscriminator: "FulfillmentOrderDestination")] @@ -35882,6 +38325,8 @@ public class NavigationItem : GraphQLObject [JsonDerivedType(typeof(FulfillmentOrderMerchantRequest), typeDiscriminator: "FulfillmentOrderMerchantRequest")] [JsonDerivedType(typeof(GenericFile), typeDiscriminator: "GenericFile")] [JsonDerivedType(typeof(GiftCard), typeDiscriminator: "GiftCard")] + [JsonDerivedType(typeof(GiftCardCreditTransaction), typeDiscriminator: "GiftCardCreditTransaction")] + [JsonDerivedType(typeof(GiftCardDebitTransaction), typeDiscriminator: "GiftCardDebitTransaction")] [JsonDerivedType(typeof(InventoryAdjustmentGroup), typeDiscriminator: "InventoryAdjustmentGroup")] [JsonDerivedType(typeof(InventoryItem), typeDiscriminator: "InventoryItem")] [JsonDerivedType(typeof(InventoryItemMeasurement), typeDiscriminator: "InventoryItemMeasurement")] @@ -35889,7 +38334,6 @@ public class NavigationItem : GraphQLObject [JsonDerivedType(typeof(InventoryQuantity), typeDiscriminator: "InventoryQuantity")] [JsonDerivedType(typeof(LineItem), typeDiscriminator: "LineItem")] [JsonDerivedType(typeof(LineItemGroup), typeDiscriminator: "LineItemGroup")] - [JsonDerivedType(typeof(LineItemMutable), typeDiscriminator: "LineItemMutable")] [JsonDerivedType(typeof(Location), typeDiscriminator: "Location")] [JsonDerivedType(typeof(MailingAddress), typeDiscriminator: "MailingAddress")] [JsonDerivedType(typeof(Market), typeDiscriminator: "Market")] @@ -35906,12 +38350,12 @@ public class NavigationItem : GraphQLObject [JsonDerivedType(typeof(Metaobject), typeDiscriminator: "Metaobject")] [JsonDerivedType(typeof(MetaobjectDefinition), typeDiscriminator: "MetaobjectDefinition")] [JsonDerivedType(typeof(Model3d), typeDiscriminator: "Model3d")] - [JsonDerivedType(typeof(OnlineStoreArticle), typeDiscriminator: "OnlineStoreArticle")] - [JsonDerivedType(typeof(OnlineStoreBlog), typeDiscriminator: "OnlineStoreBlog")] - [JsonDerivedType(typeof(OnlineStorePage), typeDiscriminator: "OnlineStorePage")] + [JsonDerivedType(typeof(OnlineStoreTheme), typeDiscriminator: "OnlineStoreTheme")] [JsonDerivedType(typeof(Order), typeDiscriminator: "Order")] + [JsonDerivedType(typeof(OrderAdjustment), typeDiscriminator: "OrderAdjustment")] [JsonDerivedType(typeof(OrderDisputeSummary), typeDiscriminator: "OrderDisputeSummary")] [JsonDerivedType(typeof(OrderTransaction), typeDiscriminator: "OrderTransaction")] + [JsonDerivedType(typeof(Page), typeDiscriminator: "Page")] [JsonDerivedType(typeof(PaymentCustomization), typeDiscriminator: "PaymentCustomization")] [JsonDerivedType(typeof(PaymentMandate), typeDiscriminator: "PaymentMandate")] [JsonDerivedType(typeof(PaymentSchedule), typeDiscriminator: "PaymentSchedule")] @@ -35923,6 +38367,8 @@ public class NavigationItem : GraphQLObject [JsonDerivedType(typeof(PrivateMetafield), typeDiscriminator: "PrivateMetafield")] [JsonDerivedType(typeof(Product), typeDiscriminator: "Product")] [JsonDerivedType(typeof(ProductBundleOperation), typeDiscriminator: "ProductBundleOperation")] + [JsonDerivedType(typeof(ProductDeleteOperation), typeDiscriminator: "ProductDeleteOperation")] + [JsonDerivedType(typeof(ProductDuplicateOperation), typeDiscriminator: "ProductDuplicateOperation")] [JsonDerivedType(typeof(ProductFeed), typeDiscriminator: "ProductFeed")] [JsonDerivedType(typeof(ProductOption), typeDiscriminator: "ProductOption")] [JsonDerivedType(typeof(ProductOptionValue), typeDiscriminator: "ProductOptionValue")] @@ -36001,8 +38447,11 @@ public interface INode : IGraphQLObject public AppRevenueAttributionRecord? AsAppRevenueAttributionRecord() => this as AppRevenueAttributionRecord; public AppSubscription? AsAppSubscription() => this as AppSubscription; public AppUsageRecord? AsAppUsageRecord() => this as AppUsageRecord; + public Article? AsArticle() => this as Article; public BasicEvent? AsBasicEvent() => this as BasicEvent; + public Blog? AsBlog() => this as Blog; public BulkOperation? AsBulkOperation() => this as BulkOperation; + public BusinessEntity? AsBusinessEntity() => this as BusinessEntity; public CalculatedOrder? AsCalculatedOrder() => this as CalculatedOrder; public CartTransform? AsCartTransform() => this as CartTransform; public CashTrackingAdjustment? AsCashTrackingAdjustment() => this as CashTrackingAdjustment; @@ -36013,6 +38462,7 @@ public interface INode : IGraphQLObject public ChannelInformation? AsChannelInformation() => this as ChannelInformation; public CheckoutProfile? AsCheckoutProfile() => this as CheckoutProfile; public Collection? AsCollection() => this as Collection; + public Comment? AsComment() => this as Comment; public CommentEvent? AsCommentEvent() => this as CommentEvent; public Company? AsCompany() => this as Company; public CompanyAddress? AsCompanyAddress() => this as CompanyAddress; @@ -36021,7 +38471,10 @@ public interface INode : IGraphQLObject public CompanyContactRoleAssignment? AsCompanyContactRoleAssignment() => this as CompanyContactRoleAssignment; public CompanyLocation? AsCompanyLocation() => this as CompanyLocation; public CompanyLocationCatalog? AsCompanyLocationCatalog() => this as CompanyLocationCatalog; + public CompanyLocationStaffMemberAssignment? AsCompanyLocationStaffMemberAssignment() => this as CompanyLocationStaffMemberAssignment; public Customer? AsCustomer() => this as Customer; + public CustomerAccountAppExtensionPage? AsCustomerAccountAppExtensionPage() => this as CustomerAccountAppExtensionPage; + public CustomerAccountNativePage? AsCustomerAccountNativePage() => this as CustomerAccountNativePage; public CustomerPaymentMethod? AsCustomerPaymentMethod() => this as CustomerPaymentMethod; public CustomerSegmentMembersQuery? AsCustomerSegmentMembersQuery() => this as CustomerSegmentMembersQuery; public CustomerVisit? AsCustomerVisit() => this as CustomerVisit; @@ -36055,6 +38508,7 @@ public interface INode : IGraphQLObject public Fulfillment? AsFulfillment() => this as Fulfillment; public FulfillmentConstraintRule? AsFulfillmentConstraintRule() => this as FulfillmentConstraintRule; public FulfillmentEvent? AsFulfillmentEvent() => this as FulfillmentEvent; + public FulfillmentHold? AsFulfillmentHold() => this as FulfillmentHold; public FulfillmentLineItem? AsFulfillmentLineItem() => this as FulfillmentLineItem; public FulfillmentOrder? AsFulfillmentOrder() => this as FulfillmentOrder; public FulfillmentOrderDestination? AsFulfillmentOrderDestination() => this as FulfillmentOrderDestination; @@ -36062,6 +38516,8 @@ public interface INode : IGraphQLObject public FulfillmentOrderMerchantRequest? AsFulfillmentOrderMerchantRequest() => this as FulfillmentOrderMerchantRequest; public GenericFile? AsGenericFile() => this as GenericFile; public GiftCard? AsGiftCard() => this as GiftCard; + public GiftCardCreditTransaction? AsGiftCardCreditTransaction() => this as GiftCardCreditTransaction; + public GiftCardDebitTransaction? AsGiftCardDebitTransaction() => this as GiftCardDebitTransaction; public InventoryAdjustmentGroup? AsInventoryAdjustmentGroup() => this as InventoryAdjustmentGroup; public InventoryItem? AsInventoryItem() => this as InventoryItem; public InventoryItemMeasurement? AsInventoryItemMeasurement() => this as InventoryItemMeasurement; @@ -36069,7 +38525,6 @@ public interface INode : IGraphQLObject public InventoryQuantity? AsInventoryQuantity() => this as InventoryQuantity; public LineItem? AsLineItem() => this as LineItem; public LineItemGroup? AsLineItemGroup() => this as LineItemGroup; - public LineItemMutable? AsLineItemMutable() => this as LineItemMutable; public Location? AsLocation() => this as Location; public MailingAddress? AsMailingAddress() => this as MailingAddress; public Market? AsMarket() => this as Market; @@ -36086,12 +38541,12 @@ public interface INode : IGraphQLObject public Metaobject? AsMetaobject() => this as Metaobject; public MetaobjectDefinition? AsMetaobjectDefinition() => this as MetaobjectDefinition; public Model3d? AsModel3d() => this as Model3d; - public OnlineStoreArticle? AsOnlineStoreArticle() => this as OnlineStoreArticle; - public OnlineStoreBlog? AsOnlineStoreBlog() => this as OnlineStoreBlog; - public OnlineStorePage? AsOnlineStorePage() => this as OnlineStorePage; + public OnlineStoreTheme? AsOnlineStoreTheme() => this as OnlineStoreTheme; public Order? AsOrder() => this as Order; + public OrderAdjustment? AsOrderAdjustment() => this as OrderAdjustment; public OrderDisputeSummary? AsOrderDisputeSummary() => this as OrderDisputeSummary; public OrderTransaction? AsOrderTransaction() => this as OrderTransaction; + public Page? AsPage() => this as Page; public PaymentCustomization? AsPaymentCustomization() => this as PaymentCustomization; public PaymentMandate? AsPaymentMandate() => this as PaymentMandate; public PaymentSchedule? AsPaymentSchedule() => this as PaymentSchedule; @@ -36103,6 +38558,8 @@ public interface INode : IGraphQLObject public PrivateMetafield? AsPrivateMetafield() => this as PrivateMetafield; public Product? AsProduct() => this as Product; public ProductBundleOperation? AsProductBundleOperation() => this as ProductBundleOperation; + public ProductDeleteOperation? AsProductDeleteOperation() => this as ProductDeleteOperation; + public ProductDuplicateOperation? AsProductDuplicateOperation() => this as ProductDuplicateOperation; public ProductFeed? AsProductFeed() => this as ProductFeed; public ProductOption? AsProductOption() => this as ProductOption; public ProductOptionValue? AsProductOptionValue() => this as ProductOptionValue; @@ -36183,147 +38640,6 @@ public class OnlineStore : GraphQLObject public OnlineStorePasswordProtection? passwordProtection { get; set; } } - /// - ///An article in the blogging system. - /// - public class OnlineStoreArticle : GraphQLObject, IHasMetafieldDefinitions, IHasMetafields, IHasPublishedTranslations, INavigable, INode, IMetafieldReferencer - { - /// - ///A default [cursor](https://shopify.dev/api/usage/pagination-graphql) that returns the single next record, sorted ascending by ID. - /// - public string? defaultCursor { get; set; } - /// - ///A globally-unique ID. - /// - public string? id { get; set; } - /// - ///A [custom field](https://shopify.dev/docs/apps/build/custom-data), - ///including its `namespace` and `key`, that's associated with a Shopify resource - ///for the purposes of adding and storing additional information. - /// - public Metafield? metafield { get; set; } - - /// - ///List of metafield definitions. - /// - [Obsolete("This field will be removed in a future version. Use the root `metafieldDefinitions` field instead.")] - public MetafieldDefinitionConnection? metafieldDefinitions { get; set; } - /// - ///A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data) - ///that a merchant associates with a Shopify resource. - /// - public MetafieldConnection? metafields { get; set; } - - /// - ///Returns a private metafield by namespace and key that belongs to the resource. - /// - [Obsolete("Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).")] - public PrivateMetafield? privateMetafield { get; set; } - - /// - ///List of private metafields that belong to the resource. - /// - [Obsolete("Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).")] - public PrivateMetafieldConnection? privateMetafields { get; set; } - /// - ///The published translations associated with the resource. - /// - public IEnumerable? translations { get; set; } - } - - /// - ///Shopify stores come with a built-in blogging engine, allowing a shop to have one or more blogs. Blogs are meant - ///to be used as a type of magazine or newsletter for the shop, with content that changes over time. - /// - public class OnlineStoreBlog : GraphQLObject, IHasMetafieldDefinitions, IHasMetafields, IHasPublishedTranslations, INode, IMetafieldReferencer - { - /// - ///A globally-unique ID. - /// - public string? id { get; set; } - /// - ///A [custom field](https://shopify.dev/docs/apps/build/custom-data), - ///including its `namespace` and `key`, that's associated with a Shopify resource - ///for the purposes of adding and storing additional information. - /// - public Metafield? metafield { get; set; } - - /// - ///List of metafield definitions. - /// - [Obsolete("This field will be removed in a future version. Use the root `metafieldDefinitions` field instead.")] - public MetafieldDefinitionConnection? metafieldDefinitions { get; set; } - /// - ///A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data) - ///that a merchant associates with a Shopify resource. - /// - public MetafieldConnection? metafields { get; set; } - - /// - ///Returns a private metafield by namespace and key that belongs to the resource. - /// - [Obsolete("Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).")] - public PrivateMetafield? privateMetafield { get; set; } - - /// - ///List of private metafields that belong to the resource. - /// - [Obsolete("Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).")] - public PrivateMetafieldConnection? privateMetafields { get; set; } - /// - ///The published translations associated with the resource. - /// - public IEnumerable? translations { get; set; } - } - - /// - ///A page on the Online Store. - /// - public class OnlineStorePage : GraphQLObject, IHasMetafieldDefinitions, IHasMetafields, IHasPublishedTranslations, INavigable, INode, IMetafieldReference, IMetafieldReferencer - { - /// - ///A default [cursor](https://shopify.dev/api/usage/pagination-graphql) that returns the single next record, sorted ascending by ID. - /// - public string? defaultCursor { get; set; } - /// - ///A globally-unique ID. - /// - public string? id { get; set; } - /// - ///A [custom field](https://shopify.dev/docs/apps/build/custom-data), - ///including its `namespace` and `key`, that's associated with a Shopify resource - ///for the purposes of adding and storing additional information. - /// - public Metafield? metafield { get; set; } - - /// - ///List of metafield definitions. - /// - [Obsolete("This field will be removed in a future version. Use the root `metafieldDefinitions` field instead.")] - public MetafieldDefinitionConnection? metafieldDefinitions { get; set; } - /// - ///A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data) - ///that a merchant associates with a Shopify resource. - /// - public MetafieldConnection? metafields { get; set; } - - /// - ///Returns a private metafield by namespace and key that belongs to the resource. - /// - [Obsolete("Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).")] - public PrivateMetafield? privateMetafield { get; set; } - - /// - ///List of private metafields that belong to the resource. - /// - [Obsolete("Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).")] - public PrivateMetafieldConnection? privateMetafields { get; set; } - /// - ///The published translations associated with the resource. - /// - public IEnumerable? translations { get; set; } - } - /// ///Storefront password information. /// @@ -36349,6 +38665,353 @@ public interface IOnlineStorePreviewable : IGraphQLObject public string? onlineStorePreviewUrl { get; } } + /// + ///A theme for display on the storefront. + /// + public class OnlineStoreTheme : GraphQLObject, IHasPublishedTranslations, INode + { + /// + ///The date and time when the theme was created. + /// + public DateTime? createdAt { get; set; } + /// + ///The files in the theme. + /// + public OnlineStoreThemeFileConnection? files { get; set; } + /// + ///A globally-unique ID. + /// + public string? id { get; set; } + /// + ///The name of the theme, set by the merchant. + /// + public string? name { get; set; } + /// + ///The prefix of the theme. + /// + public string? prefix { get; set; } + /// + ///Whether the theme is processing. + /// + public bool? processing { get; set; } + /// + ///Whether the theme processing failed. + /// + public bool? processingFailed { get; set; } + /// + ///The role of the theme. + /// + public ThemeRole? role { get; set; } + /// + ///The theme store ID. + /// + public int? themeStoreId { get; set; } + /// + ///The published translations associated with the resource. + /// + public IEnumerable? translations { get; set; } + /// + ///The date and time when the theme was last updated. + /// + public DateTime? updatedAt { get; set; } + } + + /// + ///An auto-generated type for paginating through multiple OnlineStoreThemes. + /// + public class OnlineStoreThemeConnection : GraphQLObject, IConnectionWithNodesAndEdges + { + /// + ///The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. + /// + public IEnumerable? edges { get; set; } + /// + ///A list of nodes that are contained in OnlineStoreThemeEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. + /// + public IEnumerable? nodes { get; set; } + /// + ///An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. + /// + public PageInfo? pageInfo { get; set; } + } + + /// + ///An auto-generated type which holds one OnlineStoreTheme and a cursor during pagination. + /// + public class OnlineStoreThemeEdge : GraphQLObject, IEdge + { + /// + ///The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). + /// + public string? cursor { get; set; } + /// + ///The item at the end of OnlineStoreThemeEdge. + /// + public OnlineStoreTheme? node { get; set; } + } + + /// + ///Represents a theme file. + /// + public class OnlineStoreThemeFile : GraphQLObject + { + /// + ///The body of the theme file. + /// + public IOnlineStoreThemeFileBody? body { get; set; } + /// + ///The md5 digest of the theme file for data integrity. + /// + public string? checksumMd5 { get; set; } + /// + ///The content type of the theme file. + /// + public string? contentType { get; set; } + /// + ///The date and time when the theme file was created. + /// + public DateTime? createdAt { get; set; } + /// + ///The unique identifier of the theme file. + /// + public string? filename { get; set; } + /// + ///The size of the theme file in bytes. + /// + public ulong? size { get; set; } + /// + ///The date and time when the theme file was last updated. + /// + public DateTime? updatedAt { get; set; } + } + + /// + ///Represents the body of a theme file. + /// + [JsonPolymorphic(TypeDiscriminatorPropertyName = "__typename")] + [JsonDerivedType(typeof(OnlineStoreThemeFileBodyBase64), typeDiscriminator: "OnlineStoreThemeFileBodyBase64")] + [JsonDerivedType(typeof(OnlineStoreThemeFileBodyText), typeDiscriminator: "OnlineStoreThemeFileBodyText")] + [JsonDerivedType(typeof(OnlineStoreThemeFileBodyUrl), typeDiscriminator: "OnlineStoreThemeFileBodyUrl")] + public interface IOnlineStoreThemeFileBody : IGraphQLObject + { + public OnlineStoreThemeFileBodyBase64? AsOnlineStoreThemeFileBodyBase64() => this as OnlineStoreThemeFileBodyBase64; + public OnlineStoreThemeFileBodyText? AsOnlineStoreThemeFileBodyText() => this as OnlineStoreThemeFileBodyText; + public OnlineStoreThemeFileBodyUrl? AsOnlineStoreThemeFileBodyUrl() => this as OnlineStoreThemeFileBodyUrl; + } + + /// + ///Represents the base64 encoded body of a theme file. + /// + public class OnlineStoreThemeFileBodyBase64 : GraphQLObject, IOnlineStoreThemeFileBody + { + /// + ///The body of the theme file, base64 encoded. + /// + public string? contentBase64 { get; set; } + } + + /// + ///The input type for a theme file body. + /// + public enum OnlineStoreThemeFileBodyInputType + { + /// + ///The text body of the theme file. + /// + TEXT, + /// + ///The base64 encoded body of a theme file. + /// + BASE64, + /// + ///The url of the body of a theme file. + /// + URL, + } + + /// + ///Represents the body of a theme file. + /// + public class OnlineStoreThemeFileBodyText : GraphQLObject, IOnlineStoreThemeFileBody + { + /// + ///The body of the theme file. + /// + public string? content { get; set; } + } + + /// + ///Represents the url of the body of a theme file. + /// + public class OnlineStoreThemeFileBodyUrl : GraphQLObject, IOnlineStoreThemeFileBody + { + /// + ///The url for the body of the theme file. + /// + public string? url { get; set; } + } + + /// + ///An auto-generated type for paginating through multiple OnlineStoreThemeFiles. + /// + public class OnlineStoreThemeFileConnection : GraphQLObject, IConnectionWithNodesAndEdges + { + /// + ///The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. + /// + public IEnumerable? edges { get; set; } + /// + ///A list of nodes that are contained in OnlineStoreThemeFileEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. + /// + public IEnumerable? nodes { get; set; } + /// + ///An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. + /// + public PageInfo? pageInfo { get; set; } + /// + ///List of errors that occurred during the request. + /// + public IEnumerable? userErrors { get; set; } + } + + /// + ///An auto-generated type which holds one OnlineStoreThemeFile and a cursor during pagination. + /// + public class OnlineStoreThemeFileEdge : GraphQLObject, IEdge + { + /// + ///The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). + /// + public string? cursor { get; set; } + /// + ///The item at the end of OnlineStoreThemeFileEdge. + /// + public OnlineStoreThemeFile? node { get; set; } + } + + /// + ///Represents the result of a copy, delete, or write operation performed on a theme file. + /// + public class OnlineStoreThemeFileOperationResult : GraphQLObject + { + /// + ///Unique identifier of the theme file. + /// + public string? filename { get; set; } + } + + /// + ///Represents the result of a read operation performed on a theme asset. + /// + public class OnlineStoreThemeFileReadResult : GraphQLObject + { + /// + ///Type that indicates the result of the operation. + /// + public OnlineStoreThemeFileResultType? code { get; set; } + /// + ///Unique identifier associated with the operation and the theme file. + /// + public string? filename { get; set; } + } + + /// + ///Type of a theme file operation result. + /// + public enum OnlineStoreThemeFileResultType + { + /// + ///Operation was successful. + /// + SUCCESS, + /// + ///Operation encountered an error. + /// + ERROR, + /// + ///Operation faced a conflict with the current state of the file. + /// + CONFLICT, + /// + ///Operation could not be processed due to issues with input data. + /// + UNPROCESSABLE_ENTITY, + /// + ///Operation was malformed or invalid. + /// + BAD_REQUEST, + /// + ///Operation timed out. + /// + TIMEOUT, + /// + ///Operation file could not be found. + /// + NOT_FOUND, + } + + /// + ///User errors for theme file operations. + /// + public class OnlineStoreThemeFilesUserErrors : GraphQLObject, IDisplayableError + { + /// + ///The error code. + /// + public OnlineStoreThemeFilesUserErrorsCode? code { get; set; } + /// + ///The path to the input field that caused the error. + /// + public IEnumerable? field { get; set; } + /// + ///The filename of the theme file. + /// + public string? filename { get; set; } + /// + ///The error message. + /// + public string? message { get; set; } + } + + /// + ///Possible error codes that can be returned by `OnlineStoreThemeFilesUserErrors`. + /// + public enum OnlineStoreThemeFilesUserErrorsCode + { + /// + ///The record with the ID used as the input value couldn't be found. + /// + NOT_FOUND, + /// + ///The input value should be less than or equal to the maximum value allowed. + /// + LESS_THAN_OR_EQUAL_TO, + /// + ///There are theme files with conflicts. + /// + THEME_FILES_CONFLICT, + /// + ///There are files with the same filename. + /// + DUPLICATE_FILE_INPUT, + /// + ///Access denied. + /// + ACCESS_DENIED, + /// + ///This action is not available on your current plan. Please upgrade to access theme editing features. + /// + THEME_LIMITED_PLAN, + /// + ///The file is invalid. + /// + FILE_VALIDATION_ERROR, + /// + ///Error. + /// + ERROR, + } + /// ///An order is a customer's request to purchase one or more products from a shop. You can retrieve and update orders using the `Order` object. ///Learn more about @@ -36469,6 +39132,10 @@ public class Order : GraphQLObject, ICommentEventSubject, IHasEvents, IHa /// public MoneyBag? currentCartDiscountAmountSet { get; set; } /// + ///The current shipping price after applying refunds and discounts. If the parent `order.taxesIncluded` field is true, then this price includes taxes. Otherwise, this field is the pre-tax price. + /// + public MoneyBag? currentShippingPriceSet { get; set; } + /// ///The sum of the quantities for all line items that contribute to the order's current subtotal price. /// public int? currentSubtotalLineItemsQuantity { get; set; } @@ -36569,6 +39236,10 @@ public class Order : GraphQLObject, ICommentEventSubject, IHasEvents, IHa /// public IEnumerable? disputes { get; set; } /// + ///Whether duties are included in the subtotal price of the order. + /// + public bool? dutiesIncluded { get; set; } + /// ///Whether the order has had any edits applied. /// public bool? edited { get; set; } @@ -36646,17 +39317,15 @@ public class Order : GraphQLObject, ICommentEventSubject, IHasEvents, IHa ///A list of the order's line items. /// public LineItemConnection? lineItems { get; set; } - - /// - ///A list of the order's line items. - /// - [Obsolete("Use `lineItems` instead.")] - public LineItemMutableConnection? lineItemsMutable { get; set; } /// ///List of localization extensions for the resource. /// public LocalizationExtensionConnection? localizationExtensions { get; set; } /// + ///The merchant's business entity associated with the order. + /// + public BusinessEntity? merchantBusinessEntity { get; set; } + /// ///Whether the order can be edited by the merchant. For example, canceled orders can’t be edited. /// public bool? merchantEditable { get; set; } @@ -36886,6 +39555,10 @@ public class Order : GraphQLObject, ICommentEventSubject, IHasEvents, IHa /// public StaffMember? staffMember { get; set; } /// + ///The URL where the customer can check the order's current status. + /// + public string? statusPageUrl { get; set; } + /// ///The sum of the quantities for all line items that contribute to the order's subtotal price. /// public int? subtotalLineItemsQuantity { get; set; } @@ -36943,6 +39616,10 @@ public class Order : GraphQLObject, ICommentEventSubject, IHasEvents, IHa ///This amount isn't adjusted for returns. /// public MoneyBag? totalCapturableSet { get; set; } + /// + ///The total rounding adjustment applied to payments or refunds for an Order involving cash payments. Applies to some countries where cash transactions are rounded to the nearest currency denomination. + /// + public CashRoundingAdjustment? totalCashRoundingAdjustment { get; set; } /// ///The total amount discounted on the order before returns, in shop currency. @@ -37076,6 +39753,117 @@ public enum OrderActionType UNKNOWN, } + /// + ///An order adjustment accounts for the difference between a calculated and actual refund amount. + /// + public class OrderAdjustment : GraphQLObject, INode + { + /// + ///The amount of the order adjustment in shop and presentment currencies. + /// + public MoneyBag? amountSet { get; set; } + /// + ///A globally-unique ID. + /// + public string? id { get; set; } + /// + ///An optional reason that explains a discrepancy between calculated and actual refund amounts. + /// + public OrderAdjustmentDiscrepancyReason? reason { get; set; } + /// + ///The tax amount of the order adjustment in shop and presentment currencies. + /// + public MoneyBag? taxAmountSet { get; set; } + } + + /// + ///An auto-generated type for paginating through multiple OrderAdjustments. + /// + public class OrderAdjustmentConnection : GraphQLObject, IConnectionWithNodesAndEdges + { + /// + ///The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. + /// + public IEnumerable? edges { get; set; } + /// + ///A list of nodes that are contained in OrderAdjustmentEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. + /// + public IEnumerable? nodes { get; set; } + /// + ///An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. + /// + public PageInfo? pageInfo { get; set; } + } + + /// + ///Discrepancy reasons for order adjustments. + /// + public enum OrderAdjustmentDiscrepancyReason + { + /// + ///The discrepancy reason is restocking. + /// + RESTOCK, + /// + ///The discrepancy reason is damage. + /// + DAMAGE, + /// + ///The discrepancy reason is customer. + /// + CUSTOMER, + /// + ///The discrepancy reason is not one of the predefined reasons. + /// + REFUND_DISCREPANCY, + /// + ///The discrepancy reason is balance adjustment. + /// + FULL_RETURN_BALANCING_ADJUSTMENT, + /// + ///The discrepancy reason is pending refund. + /// + PENDING_REFUND_DISCREPANCY, + } + + /// + ///An auto-generated type which holds one OrderAdjustment and a cursor during pagination. + /// + public class OrderAdjustmentEdge : GraphQLObject, IEdge + { + /// + ///The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). + /// + public string? cursor { get; set; } + /// + ///The item at the end of OrderAdjustmentEdge. + /// + public OrderAdjustment? node { get; set; } + } + + /// + ///Discrepancy reasons for order adjustments. + /// + public enum OrderAdjustmentInputDiscrepancyReason + { + /// + ///The discrepancy reason is restocking. + /// + RESTOCK, + /// + ///The discrepancy reason is damage. + /// + DAMAGE, + /// + ///The discrepancy reason is customer. + /// + CUSTOMER, + /// + ///The discrepancy reason is not one of the predefined reasons. + /// + OTHER, + } + /// ///An agreement associated with an order placement. /// @@ -37280,6 +40068,83 @@ public class OrderConnection : GraphQLObject, IConnectionWithNo public PageInfo? pageInfo { get; set; } } + /// + ///The status of payments associated with the order. Can only be set when the order is created. + /// + public enum OrderCreateFinancialStatus + { + /// + ///The payments are pending. Payment might fail in this state. Check again to confirm whether the payments have been paid successfully. + /// + PENDING, + /// + ///The payments have been authorized. + /// + AUTHORIZED, + /// + ///The order has been partially paid. + /// + PARTIALLY_PAID, + /// + ///The payments have been paid. + /// + PAID, + /// + ///The payments have been partially refunded. + /// + PARTIALLY_REFUNDED, + /// + ///The payments have been refunded. + /// + REFUNDED, + /// + ///The payments have been voided. + /// + VOIDED, + /// + ///The payments have been expired. + /// + EXPIRED, + } + + /// + ///The order's status in terms of fulfilled line items. + /// + public enum OrderCreateFulfillmentStatus + { + /// + ///Every line item in the order has been fulfilled. + /// + FULFILLED, + /// + ///At least one line item in the order has been fulfilled. + /// + PARTIAL, + /// + ///Every line item in the order has been restocked and the order canceled. + /// + RESTOCKED, + } + + /// + ///The types of behavior to use when updating inventory. + /// + public enum OrderCreateInputsInventoryBehavior + { + /// + ///Do not claim inventory. + /// + BYPASS, + /// + ///Ignore the product's inventory policy and claim inventory. + /// + DECREMENT_IGNORING_POLICY, + /// + ///Follow the product's inventory policy and claim inventory, if possible. + /// + DECREMENT_OBEYING_POLICY, + } + /// ///Return type for `orderCreateMandatePayment` mutation. /// @@ -37329,6 +40194,67 @@ public enum OrderCreateMandatePaymentUserErrorCode ORDER_MANDATE_PAYMENT_ERROR_CODE, } + /// + ///Return type for `orderCreate` mutation. + /// + public class OrderCreatePayload : GraphQLObject + { + /// + ///The order that was created. + /// + public Order? order { get; set; } + /// + ///The list of errors that occurred from executing the mutation. + /// + public IEnumerable? userErrors { get; set; } + } + + /// + ///An error that occurs during the execution of `OrderCreate`. + /// + public class OrderCreateUserError : GraphQLObject, IDisplayableError + { + /// + ///The error code. + /// + public OrderCreateUserErrorCode? code { get; set; } + /// + ///The path to the input field that caused the error. + /// + public IEnumerable? field { get; set; } + /// + ///The error message. + /// + public string? message { get; set; } + } + + /// + ///Possible error codes that can be returned by `OrderCreateUserError`. + /// + public enum OrderCreateUserErrorCode + { + /// + ///The input value is invalid. + /// + INVALID, + /// + ///Indicates that the line item fulfillment service handle is invalid. + /// + FULFILLMENT_SERVICE_INVALID, + /// + ///Indicates that the inventory claim failed during order creation. + /// + INVENTORY_CLAIM_FAILED, + /// + ///Indicates that the processed_at field is invalid, such as when it references a future date. + /// + PROCESSED_AT_INVALID, + /// + ///Indicates that the tax line rate is missing - only enforced for LineItem or ShippingLine-level tax lines. + /// + TAX_LINE_RATE_MISSING, + } + /// ///Return type for `orderDelete` mutation. /// @@ -37458,6 +40384,10 @@ public enum OrderDisplayFulfillmentStatus ///Displayed as **Scheduled**. All of the unfulfilled items in this order are scheduled for fulfillment at later time. /// SCHEDULED, + /// + ///Displayed as **Request declined**. Some of the items in the order have been rejected for fulfillment by the fulfillment service. + /// + REQUEST_DECLINED, } /// @@ -38515,6 +41445,10 @@ public class OrderTransaction : GraphQLObject, INode [Obsolete("Use `amountSet` instead.")] public decimal? amount { get; set; } /// + ///The rounding adjustment applied on the cash amount in shop and presentment currencies. + /// + public MoneyBag? amountRoundingSet { get; set; } + /// ///The amount and currency of the transaction in shop and presentment currencies. /// public MoneyBag? amountSet { get; set; } @@ -38896,6 +41830,236 @@ public class OrderUpdatePayload : GraphQLObject public IEnumerable? userErrors { get; set; } } + /// + ///A page on the Online Store. + /// + public class Page : GraphQLObject, IHasEvents, IHasMetafieldDefinitions, IHasMetafields, IHasPublishedTranslations, INavigable, INode, IMetafieldReference, IMetafieldReferencer + { + /// + ///The text content of the page, complete with HTML markup. + /// + public string? body { get; set; } + /// + ///The first 150 characters of the page body. If the page body contains more than 150 characters, additional characters are truncated by ellipses. + /// + public string? bodySummary { get; set; } + /// + ///The date and time (ISO 8601 format) of the page creation. + /// + public DateTime? createdAt { get; set; } + /// + ///A default [cursor](https://shopify.dev/api/usage/pagination-graphql) that returns the single next record, sorted ascending by ID. + /// + public string? defaultCursor { get; set; } + /// + ///The paginated list of events associated with the host subject. + /// + public EventConnection? events { get; set; } + /// + ///A unique, human-friendly string for the page. + ///In themes, the Liquid templating language refers to a page by its handle. + /// + public string? handle { get; set; } + /// + ///A globally-unique ID. + /// + public string? id { get; set; } + /// + ///Whether or not the page is visible. + /// + public bool? isPublished { get; set; } + /// + ///A [custom field](https://shopify.dev/docs/apps/build/custom-data), + ///including its `namespace` and `key`, that's associated with a Shopify resource + ///for the purposes of adding and storing additional information. + /// + public Metafield? metafield { get; set; } + + /// + ///List of metafield definitions. + /// + [Obsolete("This field will be removed in a future version. Use the root `metafieldDefinitions` field instead.")] + public MetafieldDefinitionConnection? metafieldDefinitions { get; set; } + /// + ///A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data) + ///that a merchant associates with a Shopify resource. + /// + public MetafieldConnection? metafields { get; set; } + + /// + ///Returns a private metafield by namespace and key that belongs to the resource. + /// + [Obsolete("Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).")] + public PrivateMetafield? privateMetafield { get; set; } + + /// + ///List of private metafields that belong to the resource. + /// + [Obsolete("Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).")] + public PrivateMetafieldConnection? privateMetafields { get; set; } + /// + ///The date and time (ISO 8601 format) when the page became or will become visible. + ///Returns null when the page isn't visible. + /// + public DateTime? publishedAt { get; set; } + /// + ///The suffix of the template that's used to render the page. + /// + public string? templateSuffix { get; set; } + /// + ///Title of the page. + /// + public string? title { get; set; } + /// + ///The published translations associated with the resource. + /// + public IEnumerable? translations { get; set; } + /// + ///The date and time (ISO 8601 format) of the latest page update. + /// + public DateTime? updatedAt { get; set; } + } + + /// + ///An auto-generated type for paginating through multiple Pages. + /// + public class PageConnection : GraphQLObject, IConnectionWithNodesAndEdges + { + /// + ///The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. + /// + public IEnumerable? edges { get; set; } + /// + ///A list of nodes that are contained in PageEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. + /// + public IEnumerable? nodes { get; set; } + /// + ///An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. + /// + public PageInfo? pageInfo { get; set; } + } + + /// + ///Return type for `pageCreate` mutation. + /// + public class PageCreatePayload : GraphQLObject + { + /// + ///The page that was created. + /// + public Page? page { get; set; } + /// + ///The list of errors that occurred from executing the mutation. + /// + public IEnumerable? userErrors { get; set; } + } + + /// + ///An error that occurs during the execution of `PageCreate`. + /// + public class PageCreateUserError : GraphQLObject, IDisplayableError + { + /// + ///The error code. + /// + public PageCreateUserErrorCode? code { get; set; } + /// + ///The path to the input field that caused the error. + /// + public IEnumerable? field { get; set; } + /// + ///The error message. + /// + public string? message { get; set; } + } + + /// + ///Possible error codes that can be returned by `PageCreateUserError`. + /// + public enum PageCreateUserErrorCode + { + /// + ///Can’t set isPublished to true and also set a future publish date. + /// + INVALID_PUBLISH_DATE, + /// + ///The input value is too long. + /// + TOO_LONG, + /// + ///The input value is already taken. + /// + TAKEN, + /// + ///The value is invalid for the metafield type or for the definition options. + /// + INVALID_VALUE, + /// + ///The metafield type is invalid. + /// + INVALID_TYPE, + } + + /// + ///Return type for `pageDelete` mutation. + /// + public class PageDeletePayload : GraphQLObject + { + /// + ///The ID of the deleted page. + /// + public string? deletedPageId { get; set; } + /// + ///The list of errors that occurred from executing the mutation. + /// + public IEnumerable? userErrors { get; set; } + } + + /// + ///An error that occurs during the execution of `PageDelete`. + /// + public class PageDeleteUserError : GraphQLObject, IDisplayableError + { + /// + ///The error code. + /// + public PageDeleteUserErrorCode? code { get; set; } + /// + ///The path to the input field that caused the error. + /// + public IEnumerable? field { get; set; } + /// + ///The error message. + /// + public string? message { get; set; } + } + + /// + ///Possible error codes that can be returned by `PageDeleteUserError`. + /// + public enum PageDeleteUserErrorCode + { + /// + ///The record with the ID used as the input value couldn't be found. + /// + NOT_FOUND, + } + + /// + ///An auto-generated type which holds one Page and a cursor during pagination. + /// + public class PageEdge : GraphQLObject, IEdge + { + /// + ///The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). + /// + public string? cursor { get; set; } + /// + ///The item at the end of PageEdge. + /// + public Page? node { get; set; } + } + /// ///Returns information about pagination in a connection, in accordance with the ///[Relay specification](https://relay.dev/graphql/connections.htm#sec-undefined.PageInfo). @@ -38921,6 +42085,67 @@ public class PageInfo : GraphQLObject public string? startCursor { get; set; } } + /// + ///Return type for `pageUpdate` mutation. + /// + public class PageUpdatePayload : GraphQLObject + { + /// + ///The page that was updated. + /// + public Page? page { get; set; } + /// + ///The list of errors that occurred from executing the mutation. + /// + public IEnumerable? userErrors { get; set; } + } + + /// + ///An error that occurs during the execution of `PageUpdate`. + /// + public class PageUpdateUserError : GraphQLObject, IDisplayableError + { + /// + ///The error code. + /// + public PageUpdateUserErrorCode? code { get; set; } + /// + ///The path to the input field that caused the error. + /// + public IEnumerable? field { get; set; } + /// + ///The error message. + /// + public string? message { get; set; } + } + + /// + ///Possible error codes that can be returned by `PageUpdateUserError`. + /// + public enum PageUpdateUserErrorCode + { + /// + ///Can’t set isPublished to true and also set a future publish date. + /// + INVALID_PUBLISH_DATE, + /// + ///The record with the ID used as the input value couldn't be found. + /// + NOT_FOUND, + /// + ///The input value is blank. + /// + BLANK, + /// + ///The input value is too long. + /// + TOO_LONG, + /// + ///The input value is already taken. + /// + TAKEN, + } + /// ///A payment customization. /// @@ -39150,10 +42375,12 @@ public class PaymentCustomizationUpdatePayload : GraphQLObject [JsonPolymorphic(TypeDiscriminatorPropertyName = "__typename")] [JsonDerivedType(typeof(CardPaymentDetails), typeDiscriminator: "CardPaymentDetails")] + [JsonDerivedType(typeof(LocalPaymentMethodsPaymentDetails), typeDiscriminator: "LocalPaymentMethodsPaymentDetails")] [JsonDerivedType(typeof(ShopPayInstallmentsPaymentDetails), typeDiscriminator: "ShopPayInstallmentsPaymentDetails")] public interface IPaymentDetails : IGraphQLObject { public CardPaymentDetails? AsCardPaymentDetails() => this as CardPaymentDetails; + public LocalPaymentMethodsPaymentDetails? AsLocalPaymentMethodsPaymentDetails() => this as LocalPaymentMethodsPaymentDetails; public ShopPayInstallmentsPaymentDetails? AsShopPayInstallmentsPaymentDetails() => this as ShopPayInstallmentsPaymentDetails; /// ///The name of payment method used by the buyer. @@ -39618,6 +42845,10 @@ public enum PayoutSortKeys /// DUTIES_GROSS, /// + ///Sort by the `advance_gross` value. + /// + ADVANCE_GROSS, + /// ///Sort by the `shipping_label_gross` value. /// SHIPPING_LABEL_GROSS, @@ -40469,27 +43700,6 @@ public class PriceRule : GraphQLObject, ICommentEventSubject, IHasEve public IPricingValue? valueV2 { get; set; } } - /// - ///Return type for `priceRuleActivate` mutation. - /// - public class PriceRuleActivatePayload : GraphQLObject - { - /// - ///The activated price rule. - /// - public PriceRule? priceRule { get; set; } - /// - ///The list of errors that occurred from executing the mutation. - /// - public IEnumerable? priceRuleUserErrors { get; set; } - - /// - ///The list of errors that occurred from executing the mutation. - /// - [Obsolete("Use `priceRuleUserErrors` instead.")] - public IEnumerable? userErrors { get; set; } - } - /// ///The method by which the price rule's value is allocated to its entitled items. /// @@ -40505,50 +43715,6 @@ public enum PriceRuleAllocationMethod ACROSS, } - /// - ///An auto-generated type for paginating through multiple PriceRules. - /// - public class PriceRuleConnection : GraphQLObject, IConnectionWithNodesAndEdges - { - /// - ///The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. - /// - public IEnumerable? edges { get; set; } - /// - ///A list of nodes that are contained in PriceRuleEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. - /// - public IEnumerable? nodes { get; set; } - /// - ///An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. - /// - public PageInfo? pageInfo { get; set; } - } - - /// - ///Return type for `priceRuleCreate` mutation. - /// - public class PriceRuleCreatePayload : GraphQLObject - { - /// - ///The newly created price rule. - /// - public PriceRule? priceRule { get; set; } - /// - ///The newly created discount code. - /// - public PriceRuleDiscountCode? priceRuleDiscountCode { get; set; } - /// - ///The list of errors that occurred from executing the mutation. - /// - public IEnumerable? priceRuleUserErrors { get; set; } - - /// - ///The list of errors that occurred from executing the mutation. - /// - [Obsolete("Use `priceRuleUserErrors` instead.")] - public IEnumerable? userErrors { get; set; } - } - /// ///A selection of customers for whom the price rule applies. /// @@ -40568,52 +43734,6 @@ public class PriceRuleCustomerSelection : GraphQLObject? segments { get; set; } } - /// - ///Return type for `priceRuleDeactivate` mutation. - /// - public class PriceRuleDeactivatePayload : GraphQLObject - { - /// - ///The deactivated price rule. - /// - public PriceRule? priceRule { get; set; } - /// - ///The list of errors that occurred from executing the mutation. - /// - public IEnumerable? priceRuleUserErrors { get; set; } - - /// - ///The list of errors that occurred from executing the mutation. - /// - [Obsolete("Use `priceRuleUserErrors` instead.")] - public IEnumerable? userErrors { get; set; } - } - - /// - ///Return type for `priceRuleDelete` mutation. - /// - public class PriceRuleDeletePayload : GraphQLObject - { - /// - ///The ID price of the deleted price rule. - /// - public string? deletedPriceRuleId { get; set; } - /// - ///The list of errors that occurred from executing the mutation. - /// - public IEnumerable? priceRuleUserErrors { get; set; } - /// - ///The shop of the deleted price rule. - /// - public Shop? shop { get; set; } - - /// - ///The list of errors that occurred from executing the mutation. - /// - [Obsolete("Use `priceRuleUserErrors` instead.")] - public IEnumerable? userErrors { get; set; } - } - /// ///A discount code of a price rule. /// @@ -40656,31 +43776,6 @@ public class PriceRuleDiscountCodeConnection : GraphQLObject - ///Return type for `priceRuleDiscountCodeCreate` mutation. - /// - public class PriceRuleDiscountCodeCreatePayload : GraphQLObject - { - /// - ///The updated price rule. - /// - public PriceRule? priceRule { get; set; } - /// - ///The newly created discount code. - /// - public PriceRuleDiscountCode? priceRuleDiscountCode { get; set; } - /// - ///The list of errors that occurred from executing the mutation. - /// - public IEnumerable? priceRuleUserErrors { get; set; } - - /// - ///The list of errors that occurred from executing the mutation. - /// - [Obsolete("Use `priceRuleUserErrors` instead.")] - public IEnumerable? userErrors { get; set; } - } - /// ///An auto-generated type which holds one PriceRuleDiscountCode and a cursor during pagination. /// @@ -40696,46 +43791,6 @@ public class PriceRuleDiscountCodeEdge : GraphQLObject - ///Return type for `priceRuleDiscountCodeUpdate` mutation. - /// - public class PriceRuleDiscountCodeUpdatePayload : GraphQLObject - { - /// - ///The updated price rule. - /// - public PriceRule? priceRule { get; set; } - /// - ///The updated discount code. - /// - public PriceRuleDiscountCode? priceRuleDiscountCode { get; set; } - /// - ///The list of errors that occurred from executing the mutation. - /// - public IEnumerable? priceRuleUserErrors { get; set; } - - /// - ///The list of errors that occurred from executing the mutation. - /// - [Obsolete("Use `priceRuleUserErrors` instead.")] - public IEnumerable? userErrors { get; set; } - } - - /// - ///An auto-generated type which holds one PriceRule and a cursor during pagination. - /// - public class PriceRuleEdge : GraphQLObject, IEdge - { - /// - ///The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). - /// - public string? cursor { get; set; } - /// - ///The item at the end of PriceRuleEdge. - /// - public PriceRule? node { get; set; } - } - /// ///Quantity of prerequisite items required for the price rule to be applicable, compared to quantity of entitled items. /// @@ -40751,313 +43806,6 @@ public class PriceRuleEntitlementToPrerequisiteQuantityRatio : GraphQLObject - ///Possible error codes that could be returned by a price rule mutation. - /// - public enum PriceRuleErrorCode - { - /// - ///The input value is blank. - /// - BLANK, - /// - ///The input value should be equal to the value allowed. - /// - EQUAL_TO, - /// - ///The input value should be greater than the minimum allowed value. - /// - GREATER_THAN, - /// - ///The input value should be greater than or equal to the minimum value allowed. - /// - GREATER_THAN_OR_EQUAL_TO, - /// - ///The input value is invalid. - /// - INVALID, - /// - ///The input value should be less than the maximum value allowed. - /// - LESS_THAN, - /// - ///The input value should be less than or equal to the maximum value allowed. - /// - LESS_THAN_OR_EQUAL_TO, - /// - ///The input value is already taken. - /// - TAKEN, - /// - ///The input value is too long. - /// - TOO_LONG, - /// - ///The input value is too short. - /// - TOO_SHORT, - /// - ///Unexpected internal error happened. - /// - INTERNAL_ERROR, - /// - ///Too many arguments provided. - /// - TOO_MANY_ARGUMENTS, - /// - ///Missing a required argument. - /// - MISSING_ARGUMENT, - /// - ///Can't exceed the maximum number. - /// - EXCEEDED_MAX, - /// - ///The allocation limit can only be set on Buy x, get y (BXGY) discounts. - /// - PRICE_RULE_ALLOCATION_LIMIT_ON_NON_BOGO, - /// - ///The allocation limit must be a non-zero positive number. - /// - PRICE_RULE_ALLOCATION_LIMIT_IS_ZERO, - /// - ///The number of discount codes in the shop has reached its limit. - /// - PRICE_RULE_EXCEEDED_MAX_DISCOUNT_CODE, - /// - ///The number of discounts in the shop has reached its limit. - /// - SHOP_EXCEEDED_MAX_PRICE_RULES, - /// - ///The discount end date must be after the start date. - /// - END_DATE_BEFORE_START_DATE, - /// - ///The percentage value must be between 0 and -100. - /// - PRICE_RULE_PERCENTAGE_VALUE_OUTSIDE_RANGE, - /// - ///Only one of the minimum subtotal or minimum quantity condition can be defined. - /// - PREREQUISITE_SUBTOTAL_AND_QUANTITY_RANGE_BOTH_PRESENT, - /// - ///The allocation method must be `ACROSS` for the provided target selection. - /// - ALLOCATION_METHOD_MUST_BE_ACROSS_FOR_GIVEN_TARGET_SELECTION, - /// - ///The discount must apply on either one-time purchase or subscription items, or both. - /// - APPLIES_ON_NOTHING, - /// - ///The recurring cycle limit must be 1 when a discount doesn't apply on subscription items. - /// - MULTIPLE_RECURRING_CYCLE_LIMIT_FOR_NON_SUBSCRIPTION_ITEMS, - /// - ///Invalid BOGO target selection. - /// - BOGO_INVALID_TARGET_SELECTION, - /// - ///Invalid BOGO target type. - /// - BOGO_INVALID_TARGET_TYPE, - /// - ///Invalid BOGO value type. - /// - BOGO_INVALID_VALUE_TYPE, - /// - ///A duplicate discount code exists. - /// - DISCOUNT_CODE_DUPLICATE, - /// - ///Can't use both prerequisite customers and saved search. - /// - BOTH_CUSTOMER_AND_SAVED_SEARCH_PREREQUISITES_SELECTED, - /// - ///A duplicate customer saved search exists. - /// - CUSTOMER_SAVED_SEARCH_DUPLICATE, - /// - ///The customer saved search exceeded the maximum number. - /// - CUSTOMER_SAVED_SEARCH_EXCEEDED_MAX, - /// - ///Invalid customer saved search. - /// - CUSTOMER_SAVED_SEARCH_INVALID, - /// - ///The customer prerequisites exceeded the maximum number. - /// - CUSTOMER_PREREQUISITES_EXCEEDED_MAX, - /// - ///Invalid customer prerequisites selection. - /// - CUSTOMER_PREREQUISITES_INVALID_SELECTION, - /// - ///A duplicate customer prerequisite ID exists. - /// - CUSTOMER_PREREQUISITE_DUPLICATE, - /// - ///Customer prerequisites are missing. - /// - CUSTOMER_PREREQUISITES_MISSING, - /// - ///Can't have both prerequisite customers and prerequisite segments. - /// - BOTH_CUSTOMER_AND_SEGMENT_PREREQUISITES_SELECTED, - /// - ///Can't have both saved searches and segments prerequisites. - /// - BOTH_SAVED_SEARCH_AND_SEGMENT_PREREQUISITES_SELECTED, - /// - ///The customer segment prerequisites exceeded the maximum number. - /// - CUSTOMER_SEGMENT_EXCEEDED_MAX, - /// - ///The customer segment prerequisite ID is invalid. - /// - CUSTOMER_SEGMENT_INVALID, - /// - ///A duplicate customer segment prerequisite ID exists. - /// - CUSTOMER_SEGMENT_PREREQUISITE_DUPLICATE, - /// - ///Can't use collections as a prequisite in combination with product variants or products. - /// - CANNOT_PREREQUISITE_COLLECTION_WITH_PRODUCT_OR_VARIANTS, - /// - ///Can't add the same collection twice. - /// - ITEM_PREREQUISITES_DUPLICATE_COLLECTION, - /// - ///Can't add the same product twice. - /// - ITEM_PREREQUISITES_DUPLICATE_PRODUCT, - /// - ///Can't add the same variant twice. - /// - ITEM_PREREQUISITES_DUPLICATE_VARIANT, - /// - ///Can't exceed the maximum number of item prerequisites. - /// - ITEM_PREREQUISITES_EXCEEDED_MAX, - /// - ///Invalid collection. - /// - ITEM_PREREQUISITES_INVALID_COLLECTION, - /// - ///Invalid type. - /// - ITEM_PREREQUISITES_INVALID_TYPE, - /// - ///Invalid product. - /// - ITEM_PREREQUISITES_INVALID_PRODUCT, - /// - ///Invalid variant. - /// - ITEM_PREREQUISITES_INVALID_VARIANT, - /// - ///Item prerequisites must be empty if the prerequisite quantity ratio isn't defined. - /// - ITEM_PREREQUISITES_MUST_BE_EMPTY, - /// - ///Item prerequisites must have at least one item prerequisite if the prerequisite quantity ratio is defined. - /// - ITEM_PREREQUISITES_MISSING, - /// - ///Can't entitle collections in combination with product variants or products. - /// - CANNOT_ENTITLE_COLLECTIONS_WITH_PRODUCTS_OR_VARIANTS, - /// - ///Can't add the same collection twice. - /// - ITEM_ENTITLEMENTS_DUPLICATE_COLLECTION, - /// - ///Can't add the same product twice. - /// - ITEM_ENTITLEMENTS_DUPLICATE_PRODUCT, - /// - ///Can't add the same collection twice. - /// - ITEM_ENTITLEMENTS_DUPLICATE_VARIANT, - /// - ///Can't exceed the maximum number of collection entitlements. - /// - ITEM_ENTITLEMENTS_EXCEEDED_MAX_COLLECTION, - /// - ///Can't exceed the maximum number of product entitlements. - /// - ITEM_ENTITLEMENTS_EXCEEDED_MAX_PRODUCT, - /// - ///Can't exceed the maximum number of variant entitlements. - /// - ITEM_ENTITLEMENTS_EXCEEDED_MAX_VARIANT, - /// - ///Invalid entitlement type. - /// - ITEM_ENTITLEMENT_INVALID_TYPE, - /// - ///Invalid collection. - /// - ITEM_ENTITLEMENTS_INVALID_COLLECTION, - /// - ///Invalid product. - /// - ITEM_ENTITLEMENTS_INVALID_PRODUCT, - /// - ///Invalid variant. - /// - ITEM_ENTITLEMENTS_INVALID_VARIANT, - /// - ///Invalid combination of target type and selection. - /// - ITEM_ENTITLEMENTS_INVALID_TARGET_TYPE_OR_SELECTION, - /// - ///Entitlements are missing. - /// - ITEM_ENTITLEMENTS_MISSING, - /// - ///The variant is already entitled through a product. - /// - VARIANT_ALREADY_ENTITLED_THROUGH_PRODUCT, - /// - ///A duplicate country code exists. - /// - SHIPPING_ENTITLEMENTS_DUPLICATE_COUNTRY, - /// - ///Can't exceed the maximum number of entitlements. - /// - SHIPPING_ENTITLEMENTS_EXCEEDED_MAX, - /// - ///The country is unknown. - /// - SHIPPING_ENTITLEMENTS_INVALID_COUNTRY, - /// - ///Invalid target type or selection. - /// - SHIPPING_ENTITLEMENTS_INVALID_TARGET_TYPE_OR_SELECTION, - /// - ///Missing entitlements. - /// - SHIPPING_ENTITLEMENTS_MISSING, - /// - ///Unsupported destination type. - /// - SHIPPING_ENTITLEMENTS_UNSUPPORTED_DESTINATION_TYPE, - /// - ///The target type is invalid when defining a prerequisite shipping price range. - /// - INVALID_TARGET_TYPE_PREREQUISITE_SHIPPING_PRICE_RANGE, - /// - ///The `combinesWith` settings are invalid for the discount class. - /// - INVALID_COMBINES_WITH_FOR_DISCOUNT_CLASS, - /// - ///The discountClass is invalid for the price rule. - /// - INVALID_DISCOUNT_CLASS_FOR_PRICE_RULE, - } - /// ///The list of features that can be supported by a price rule. /// @@ -41271,42 +44019,6 @@ public class PriceRuleShippingLineEntitlements : GraphQLObject - ///The set of valid sort keys for the PriceRule query. - /// - public enum PriceRuleSortKeys - { - /// - ///Sort by the `starts_at` value. - /// - STARTS_AT, - /// - ///Sort by the `ends_at` value. - /// - ENDS_AT, - /// - ///Sort by the `title` value. - /// - TITLE, - /// - ///Sort by the `created_at` value. - /// - CREATED_AT, - /// - ///Sort by the `updated_at` value. - /// - UPDATED_AT, - /// - ///Sort by the `id` value. - /// - ID, - /// - ///Sort by relevance to the search terms when the `query` parameter is specified on the connection. - ///Don't use this sort key when no search query is specified. - /// - RELEVANCE, - } - /// ///The status of the price rule. /// @@ -41368,50 +44080,6 @@ public enum PriceRuleTrait QUANTITY_DISCOUNTS, } - /// - ///Return type for `priceRuleUpdate` mutation. - /// - public class PriceRuleUpdatePayload : GraphQLObject - { - /// - ///The updated price rule. - /// - public PriceRule? priceRule { get; set; } - /// - ///The updated discount code. - /// - public PriceRuleDiscountCode? priceRuleDiscountCode { get; set; } - /// - ///The list of errors that occurred from executing the mutation. - /// - public IEnumerable? priceRuleUserErrors { get; set; } - - /// - ///The list of errors that occurred from executing the mutation. - /// - [Obsolete("Use `priceRuleUserErrors` instead.")] - public IEnumerable? userErrors { get; set; } - } - - /// - ///Represents an error that happens during execution of a price rule mutation. - /// - public class PriceRuleUserError : GraphQLObject, IDisplayableError - { - /// - ///Error code to uniquely identify the error. - /// - public PriceRuleErrorCode? code { get; set; } - /// - ///The path to the input field that caused the error. - /// - public IEnumerable? field { get; set; } - /// - ///The error message. - /// - public string? message { get; set; } - } - /// ///A time period during which a price rule is applicable. /// @@ -41598,7 +44266,7 @@ public enum PrivateMetafieldValueType ///Learn more about working with [Shopify's product model](https://shopify.dev/docs/apps/build/graphql/migrate/new-product-model/product-model-components), ///including limitations and considerations. /// - public class Product : GraphQLObject, IHasMetafieldDefinitions, IHasMetafields, IHasPublishedTranslations, ILegacyInteroperability, INavigable, INode, IOnlineStorePreviewable, IPublishable, ICommentEventEmbed, IMetafieldReference, IMetafieldReferencer + public class Product : GraphQLObject, IHasEvents, IHasMetafieldDefinitions, IHasMetafields, IHasPublishedTranslations, ILegacyInteroperability, INavigable, INode, IOnlineStorePreviewable, IPublishable, ICommentEventEmbed, IMetafieldReference, IMetafieldReferencer { /// ///The number of @@ -41684,6 +44352,10 @@ public class Product : GraphQLObject, IHasMetafieldDefinitions, IHasMet /// [Obsolete("Use `description` instead.")] public string? descriptionPlainSummary { get; set; } + /// + ///The paginated list of events associated with the host subject. + /// + public EventConnection? events { get; set; } /// ///The featured image for the product. @@ -41911,6 +44583,13 @@ public class Product : GraphQLObject, IHasMetafieldDefinitions, IHasMet ///[publication](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication). /// public ResourcePublicationV2Connection? resourcePublicationsV2 { get; set; } + /// + ///Whether the merchant can make changes to the product when they + ///[edit the order](https://shopify.dev/docs/apps/build/orders-fulfillment/order-management-apps/edit-orders) + ///associated with the product. For example, a merchant might be restricted from changing product details when they + ///edit an order. + /// + public RestrictedForResource? restrictedForResource { get; set; } /// ///A count of [selling plan groups](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans/build-a-selling-plan) @@ -42025,25 +44704,6 @@ public class Product : GraphQLObject, IHasMetafieldDefinitions, IHasMet public string? vendor { get; set; } } - /// - ///Return type for `productAppendImages` mutation. - /// - public class ProductAppendImagesPayload : GraphQLObject - { - /// - ///List of new images appended to the product. - /// - public IEnumerable? newImages { get; set; } - /// - ///The product object. - /// - public Product? product { get; set; } - /// - ///The list of errors that occurred from executing the mutation. - /// - public IEnumerable? userErrors { get; set; } - } - /// ///The product's component information. /// @@ -42515,44 +45175,6 @@ public class ProductCreatePayload : GraphQLObject public IEnumerable? userErrors { get; set; } } - /// - ///Return type for `productDeleteAsync` mutation. - /// - public class ProductDeleteAsyncPayload : GraphQLObject - { - /// - ///The ID of the product that was requested to be deleted. - /// - public string? deleteProductId { get; set; } - /// - ///The background job that will delete the product and its associated variants and media. - /// - public Job? job { get; set; } - /// - ///The list of errors that occurred from executing the mutation. - /// - public IEnumerable? userErrors { get; set; } - } - - /// - ///Return type for `productDeleteImages` mutation. - /// - public class ProductDeleteImagesPayload : GraphQLObject - { - /// - ///The array of image IDs to delete. - /// - public IEnumerable? deletedImageIds { get; set; } - /// - ///The product object. - /// - public Product? product { get; set; } - /// - ///The list of errors that occurred from executing the mutation. - /// - public IEnumerable? userErrors { get; set; } - } - /// ///Return type for `productDeleteMedia` mutation. /// @@ -42583,75 +45205,64 @@ public class ProductDeleteMediaPayload : GraphQLObject - ///Return type for `productDelete` mutation. + ///An entity that represents details of an asynchronous + ///[ProductDelete](https://shopify.dev/api/admin-graphql/current/mutations/productDelete) mutation. + /// + ///By querying this entity with the + ///[productOperation](https://shopify.dev/api/admin-graphql/current/queries/productOperation) query + ///using the ID that was returned when the product was deleted, this can be used to check the status of an operation. + /// + ///The `status` field indicates whether the operation is `CREATED`, `ACTIVE`, or `COMPLETE`. + /// + ///The `deletedProductId` field provides the ID of the deleted product. + /// + ///The `userErrors` field provides mutation errors that occurred during the operation. /// - public class ProductDeletePayload : GraphQLObject + public class ProductDeleteOperation : GraphQLObject, INode, IProductOperation { /// ///The ID of the deleted product. /// public string? deletedProductId { get; set; } /// - ///The shop associated with the product. - /// - public Shop? shop { get; set; } - /// - ///The list of errors that occurred from executing the mutation. + ///A globally-unique ID. /// - public IEnumerable? userErrors { get; set; } - } - - /// - ///An error that occurred while setting the activation status of an inventory item. - /// - public class ProductDeleteUserError : GraphQLObject, IDisplayableError - { + public string? id { get; set; } /// - ///The error code. + ///The product on which the operation is being performed. /// - public ProductDeleteUserErrorCode? code { get; set; } + public Product? product { get; set; } /// - ///The path to the input field that caused the error. + ///The status of this operation. /// - public IEnumerable? field { get; set; } + public ProductOperationStatus? status { get; set; } /// - ///The error message. + ///Returns mutation errors occurred during background mutation processing. /// - public string? message { get; set; } + public IEnumerable? userErrors { get; set; } } /// - ///Possible error codes that can be returned by `ProductDeleteUserError`. + ///Return type for `productDelete` mutation. /// - public enum ProductDeleteUserErrorCode + public class ProductDeletePayload : GraphQLObject { /// - ///Product does not exist. - /// - PRODUCT_DOES_NOT_EXIST, - /// - ///Something went wrong, please try again. + ///The ID of the deleted product. /// - GENERIC_ERROR, - } - - /// - ///Return type for `productDuplicateAsyncV2` mutation. - /// - public class ProductDuplicateAsyncV2Payload : GraphQLObject - { + public string? deletedProductId { get; set; } /// - ///The duplicated product ID. + ///The product delete operation, returned when run in asynchronous mode. /// - public string? duplicatedProductId { get; set; } + public ProductDeleteOperation? productDeleteOperation { get; set; } /// - ///The asynchronous job for duplicating the product. + ///The shop associated with the product. /// - public string? productDuplicateJobId { get; set; } + public Shop? shop { get; set; } /// ///The list of errors that occurred from executing the mutation. /// - public IEnumerable? userErrors { get; set; } + public IEnumerable? userErrors { get; set; } } /// @@ -42670,76 +45281,72 @@ public class ProductDuplicateJob : GraphQLObject } /// - ///Return type for `productDuplicate` mutation. + ///An entity that represents details of an asynchronous + ///[ProductDuplicate](https://shopify.dev/api/admin-graphql/current/mutations/productDuplicate) mutation. + /// + ///By querying this entity with the + ///[productOperation](https://shopify.dev/api/admin-graphql/current/queries/productOperation) query + ///using the ID that was returned + ///[when the product was duplicated](https://shopify.dev/api/admin/migrate/new-product-model/sync-data#create-a-product-with-variants-and-options-asynchronously), + ///this can be used to check the status of an operation. + /// + ///The `status` field indicates whether the operation is `CREATED`, `ACTIVE`, or `COMPLETE`. + /// + ///The `product` field provides the details of the original product. + /// + ///The `newProduct` field provides the details of the new duplicate of the product. + /// + ///The `userErrors` field provides mutation errors that occurred during the operation. /// - public class ProductDuplicatePayload : GraphQLObject + public class ProductDuplicateOperation : GraphQLObject, INode, IProductOperation { /// - ///The asynchronous job that duplicates the product images. + ///A globally-unique ID. /// - public Job? imageJob { get; set; } + public string? id { get; set; } /// - ///The duplicated product. + ///The newly created duplicate of the original product. /// public Product? newProduct { get; set; } /// - ///The user's shop. - /// - public Shop? shop { get; set; } - /// - ///The list of errors that occurred from executing the mutation. - /// - public IEnumerable? userErrors { get; set; } - } - - /// - ///An error that occurred while duplicating the product. - /// - public class ProductDuplicateUserError : GraphQLObject, IDisplayableError - { - /// - ///The error code. + ///The product on which the operation is being performed. /// - public ProductDuplicateUserErrorCode? code { get; set; } + public Product? product { get; set; } /// - ///The path to the input field that caused the error. + ///The status of this operation. /// - public IEnumerable? field { get; set; } + public ProductOperationStatus? status { get; set; } /// - ///The error message. + ///Returns mutation errors occurred during background mutation processing. /// - public string? message { get; set; } + public IEnumerable? userErrors { get; set; } } /// - ///Possible error codes that can be returned by `ProductDuplicateUserError`. + ///Return type for `productDuplicate` mutation. /// - public enum ProductDuplicateUserErrorCode + public class ProductDuplicatePayload : GraphQLObject { /// - ///The product does not exist. - /// - PRODUCT_DOES_NOT_EXIST, - /// - ///Cannot duplicate a product which has no variants. + ///The asynchronous job that duplicates the product images. /// - EMPTY_VARIANT, + public Job? imageJob { get; set; } /// - ///The title cannot be empty. + ///The duplicated product. /// - EMPTY_TITLE, + public Product? newProduct { get; set; } /// - ///Cannot duplicate a bundle product. + ///The product duplicate operation, returned when run in asynchronous mode. /// - BUNDLES_ERROR, + public ProductDuplicateOperation? productDuplicateOperation { get; set; } /// - ///Something went wrong, please try again. + ///The user's shop. /// - GENERIC_ERROR, + public Shop? shop { get; set; } /// - ///Something went wrong when saving the product, please try again. + ///The list of errors that occurred from executing the mutation. /// - FAILED_TO_SAVE, + public IEnumerable? userErrors { get; set; } } /// @@ -42988,21 +45595,6 @@ public enum ProductImageSortKeys RELEVANCE, } - /// - ///Return type for `productImageUpdate` mutation. - /// - public class ProductImageUpdatePayload : GraphQLObject - { - /// - ///The image that has been updated. - /// - public Image? image { get; set; } - /// - ///The list of errors that occurred from executing the mutation. - /// - public IEnumerable? userErrors { get; set; } - } - /// ///Return type for `productJoinSellingPlanGroups` mutation. /// @@ -43058,10 +45650,14 @@ public enum ProductMediaSortKeys /// [JsonPolymorphic(TypeDiscriminatorPropertyName = "__typename")] [JsonDerivedType(typeof(ProductBundleOperation), typeDiscriminator: "ProductBundleOperation")] + [JsonDerivedType(typeof(ProductDeleteOperation), typeDiscriminator: "ProductDeleteOperation")] + [JsonDerivedType(typeof(ProductDuplicateOperation), typeDiscriminator: "ProductDuplicateOperation")] [JsonDerivedType(typeof(ProductSetOperation), typeDiscriminator: "ProductSetOperation")] public interface IProductOperation : IGraphQLObject { public ProductBundleOperation? AsProductBundleOperation() => this as ProductBundleOperation; + public ProductDeleteOperation? AsProductDeleteOperation() => this as ProductDeleteOperation; + public ProductDuplicateOperation? AsProductDuplicateOperation() => this as ProductDuplicateOperation; public ProductSetOperation? AsProductSetOperation() => this as ProductSetOperation; /// ///The product on which the operation is being performed. @@ -43129,6 +45725,23 @@ public class ProductOption : GraphQLObject, IHasPublishedTranslat public IEnumerable? values { get; set; } } + /// + ///The set of variant strategies available for use in the `productOptionsCreate` mutation. + /// + public enum ProductOptionCreateVariantStrategy + { + /// + ///No additional variants are created in response to the added options. Existing variants are updated with the + ///first option value of each option added. + /// + LEAVE_AS_IS, + /// + ///Existing variants are updated with the first option value of each added option. New variants are + ///created for each combination of existing variant option values and new option values. + /// + CREATE, + } + /// ///The set of strategies available for use on the `productOptionDelete` mutation. /// @@ -43303,6 +45916,10 @@ public enum ProductOptionUpdateUserErrorCode ///Cannot update the option because it would result in deleting variants, and you don't have the required permissions. /// CANNOT_DELETE_VARIANT_WITHOUT_PERMISSION, + /// + ///The number of option values created with the MANAGE strategy would exceed the variant limit. + /// + TOO_MANY_VARIANTS_CREATED, } /// @@ -43501,6 +46118,14 @@ public enum ProductOptionsCreateUserErrorCode ///Operation is not supported for a combined listing parent product. /// UNSUPPORTED_COMBINED_LISTING_PARENT_OPERATION, + /// + ///Cannot specify 'linkedMetafieldValue' for an option that is not linked to a metafield. + /// + LINKED_METAFIELD_VALUE_WITHOUT_LINKED_OPTION, + /// + ///The number of option values created with the CREATE strategy would exceed the variant limit. + /// + TOO_MANY_VARIANTS_CREATED, } /// @@ -43781,21 +46406,6 @@ public class ProductPublishPayload : GraphQLObject public IEnumerable? userErrors { get; set; } } - /// - ///Return type for `productReorderImages` mutation. - /// - public class ProductReorderImagesPayload : GraphQLObject - { - /// - ///The asynchronous job which reorders the images. - /// - public Job? job { get; set; } - /// - ///The list of errors that occurred from executing the mutation. - /// - public IEnumerable? userErrors { get; set; } - } - /// ///Return type for `productReorderMedia` mutation. /// @@ -44058,6 +46668,26 @@ public enum ProductSetUserErrorCode /// CAPABILITY_VIOLATION, /// + ///An option cannot have both metafield linked and nonlinked option values. + /// + CANNOT_COMBINE_LINKED_AND_NONLINKED_OPTION_VALUES, + /// + ///Invalid metafield value for linked option. + /// + INVALID_METAFIELD_VALUE_FOR_LINKED_OPTION, + /// + ///Cannot link multiple options to the same metafield. + /// + DUPLICATE_LINKED_OPTION, + /// + ///Linked options are currently not supported for this shop. + /// + LINKED_OPTIONS_NOT_SUPPORTED_FOR_SHOP, + /// + ///No valid metafield definition found for linked option. + /// + LINKED_METAFIELD_DEFINITION_NOT_FOUND, + /// ///Duplicated value. /// DUPLICATED_VALUE, @@ -44216,7 +46846,7 @@ public class ProductUpdatePayload : GraphQLObject /// ///Represents a product variant. /// - public class ProductVariant : GraphQLObject, IHasMetafieldDefinitions, IHasMetafields, IHasPublishedTranslations, ILegacyInteroperability, INavigable, INode, ICommentEventEmbed, IMetafieldReference, IMetafieldReferencer + public class ProductVariant : GraphQLObject, IHasEvents, IHasMetafieldDefinitions, IHasMetafields, IHasPublishedTranslations, ILegacyInteroperability, INavigable, INode, ICommentEventEmbed, IMetafieldReference, IMetafieldReferencer { /// ///Whether the product variant is available for sale. @@ -44251,6 +46881,10 @@ public class ProductVariant : GraphQLObject, IHasMetafieldDefini /// public string? displayName { get; set; } /// + ///The paginated list of events associated with the host subject. + /// + public EventConnection? events { get; set; } + /// ///A globally-unique ID. /// public string? id { get; set; } @@ -44389,6 +47023,10 @@ public class ProductVariant : GraphQLObject, IHasMetafieldDefini /// public IEnumerable? translations { get; set; } /// + ///The unit price measurement for the variant. + /// + public UnitPriceMeasurement? unitPriceMeasurement { get; set; } + /// ///The date and time (ISO 8601 format) when the product variant was last modified. /// public DateTime? updatedAt { get; set; } @@ -44509,44 +47147,6 @@ public class ProductVariantContextualPricing : GraphQLObject - ///Return type for `productVariantCreate` mutation. - /// - public class ProductVariantCreatePayload : GraphQLObject - { - /// - ///The product associated with the variant. - /// - public Product? product { get; set; } - /// - ///The successfully created variant. - /// - public ProductVariant? productVariant { get; set; } - /// - ///The list of errors that occurred from executing the mutation. - /// - public IEnumerable? userErrors { get; set; } - } - - /// - ///Return type for `productVariantDelete` mutation. - /// - public class ProductVariantDeletePayload : GraphQLObject - { - /// - ///The ID of the deleted product variant. - /// - public string? deletedProductVariantId { get; set; } - /// - ///The product associated with the deleted product variant. - /// - public Product? product { get; set; } - /// - ///The list of errors that occurred from executing the mutation. - /// - public IEnumerable? userErrors { get; set; } - } - /// ///Return type for `productVariantDetachMedia` mutation. /// @@ -44861,25 +47461,6 @@ public enum ProductVariantSortKeys RELEVANCE, } - /// - ///Return type for `productVariantUpdate` mutation. - /// - public class ProductVariantUpdatePayload : GraphQLObject - { - /// - ///The product associated with the variant. - /// - public Product? product { get; set; } - /// - ///The updated variant. - /// - public ProductVariant? productVariant { get; set; } - /// - ///The list of errors that occurred from executing the mutation. - /// - public IEnumerable? userErrors { get; set; } - } - /// ///Return type for `productVariantsBulkCreate` mutation. /// @@ -46358,6 +48939,14 @@ public class QuantityRulesDeletePayload : GraphQLObject public class QueryRoot : GraphQLObject { + /// + ///List of abandoned checkouts. Includes checkouts that were recovered after being abandoned. + /// + public AbandonedCheckoutConnection? abandonedCheckouts { get; set; } + /// + ///Returns the count of abandoned checkouts for the given shop. Limited to a maximum of 10000. + /// + public Count? abandonedCheckoutsCount { get; set; } /// ///Returns an abandonment by ID. /// @@ -46397,6 +48986,18 @@ public class QueryRoot : GraphQLObject /// public AppInstallationConnection? appInstallations { get; set; } /// + ///Returns an Article resource by ID. + /// + public Article? article { get; set; } + /// + ///List of all article tags. + /// + public IEnumerable? articleTags { get; set; } + /// + ///List of the shop's articles. + /// + public ArticleConnection? articles { get; set; } + /// ///The paginated list of fulfillment orders assigned to the shop locations owned by the app. /// ///Assigned fulfillment orders are fulfillment orders that are set to be fulfilled from locations @@ -46451,6 +49052,26 @@ public class QueryRoot : GraphQLObject /// public IEnumerable? availableLocales { get; set; } /// + ///Returns a Blog resource by ID. + /// + public Blog? blog { get; set; } + /// + ///List of the shop's blogs. + /// + public BlogConnection? blogs { get; set; } + /// + ///Count of blogs. + /// + public Count? blogsCount { get; set; } + /// + ///Returns a list of Business Entities associated with the shop. + /// + public IEnumerable? businessEntities { get; set; } + /// + ///Returns a Business Entity by ID. + /// + public BusinessEntity? businessEntity { get; set; } + /// ///Returns a `DeliveryCarrierService` object by ID. /// public DeliveryCarrierService? carrierService { get; set; } @@ -46556,6 +49177,18 @@ public class QueryRoot : GraphQLObject /// public CollectionConnection? collections { get; set; } /// + ///Count of collections. Limited to a maximum of 10000. + /// + public Count? collectionsCount { get; set; } + /// + ///Returns a Comment resource by ID. + /// + public Comment? comment { get; set; } + /// + ///List of the shop's comments. + /// + public CommentConnection? comments { get; set; } + /// ///Returns the list of companies in the shop. /// public CompanyConnection? companies { get; set; } @@ -46592,10 +49225,22 @@ public class QueryRoot : GraphQLObject /// public BulkOperation? currentBulkOperation { get; set; } /// + ///The staff member making the API request. + /// + public StaffMember? currentStaffMember { get; set; } + /// ///Returns a Customer resource by ID. /// public Customer? customer { get; set; } /// + ///Returns a customer account page. + /// + public ICustomerAccountPage? customerAccountPage { get; set; } + /// + ///List of the shop's customer account pages. + /// + public CustomerAccountPageConnection? customerAccountPages { get; set; } + /// ///Returns the status of a customer merge request job. /// public CustomerMergeRequest? customerMergeJobStatus { get; set; } @@ -46671,6 +49316,10 @@ public class QueryRoot : GraphQLObject /// public DiscountNodeConnection? discountNodes { get; set; } /// + ///The total number of discounts for the shop. Limited to a maximum of 10000. + /// + public Count? discountNodesCount { get; set; } + /// ///Returns a bulk code creation resource by ID. /// public DiscountRedeemCodeBulkCreation? discountRedeemCodeBulkCreation { get; set; } @@ -46687,6 +49336,10 @@ public class QueryRoot : GraphQLObject /// public ShopifyPaymentsDisputeEvidence? disputeEvidence { get; set; } /// + ///All disputes related to the Shop. + /// + public ShopifyPaymentsDisputeConnection? disputes { get; set; } + /// ///Lookup a Domain by ID. /// public Domain? domain { get; set; } @@ -46707,6 +49360,18 @@ public class QueryRoot : GraphQLObject /// public DraftOrderConnection? draftOrders { get; set; } /// + ///Get a single event by its id. + /// + public IEvent? @event { get; set; } + /// + ///The paginated list of events associated with the store. + /// + public EventConnection? events { get; set; } + /// + ///Count of events. Limited to a maximum of 10000. + /// + public Count? eventsCount { get; set; } + /// ///A list of the shop's file saved searches. /// public SavedSearchConnection? fileSavedSearches { get; set; } @@ -46954,6 +49619,18 @@ public class QueryRoot : GraphQLObject /// public Count? ordersCount { get; set; } /// + ///Returns a Page resource by ID. + /// + public Page? page { get; set; } + /// + ///List of the shop's pages. + /// + public PageConnection? pages { get; set; } + /// + ///Count of pages. + /// + public Count? pagesCount { get; set; } + /// ///The payment customization. /// public PaymentCustomization? paymentCustomization { get; set; } @@ -46977,22 +49654,6 @@ public class QueryRoot : GraphQLObject ///All price lists for a shop. /// public PriceListConnection? priceLists { get; set; } - - /// - ///Returns a code price rule resource by ID. - /// - [Obsolete("Use `codeDiscountNode` instead.")] - public PriceRule? priceRule { get; set; } - /// - ///List of the shop's price rule saved searches. - /// - public SavedSearchConnection? priceRuleSavedSearches { get; set; } - - /// - ///Returns a list of price rule resources that have at least one associated discount code. - /// - [Obsolete("Use `codeDiscountNodes` instead.")] - public PriceRuleConnection? priceRules { get; set; } /// ///The primary market of the shop. /// @@ -47066,6 +49727,10 @@ public class QueryRoot : GraphQLObject /// public ProductVariantConnection? productVariants { get; set; } /// + ///Count of product variants. + /// + public Count? productVariantsCount { get; set; } + /// ///Returns a list of products. /// public ProductConnection? products { get; set; } @@ -47213,6 +49878,10 @@ public class QueryRoot : GraphQLObject /// public StaffMember? staffMember { get; set; } /// + ///The shop staff members. + /// + public StaffMemberConnection? staffMembers { get; set; } + /// ///Standard metafield definitions are intended for specific, common use cases. Their namespace and keys reflect these use cases and are reserved. /// ///Refer to all available [`Standard Metafield Definition Templates`](https://shopify.dev/api/admin-graphql/latest/objects/StandardMetafieldDefinitionTemplate). @@ -47264,6 +49933,14 @@ public class QueryRoot : GraphQLObject /// public TenderTransactionConnection? tenderTransactions { get; set; } /// + ///Returns a particular theme for the shop. + /// + public OnlineStoreTheme? theme { get; set; } + /// + ///Returns a paginated list of themes for the shop. + /// + public OnlineStoreThemeConnection? themes { get; set; } + /// ///A resource that can have localized values for different languages. /// public TranslatableResource? translatableResource { get; set; } @@ -47292,6 +49969,10 @@ public class QueryRoot : GraphQLObject /// public UrlRedirectConnection? urlRedirects { get; set; } /// + ///Count of redirects. Limited to a maximum of 10000. + /// + public Count? urlRedirectsCount { get; set; } + /// ///Validation available on the shop. /// public Validation? validation { get; set; } @@ -47353,6 +50034,10 @@ public class Refund : GraphQLObject, ILegacyInteroperability, INode /// public Order? order { get; set; } /// + ///The order adjustments that are attached with the refund. + /// + public OrderAdjustmentConnection? orderAdjustments { get; set; } + /// ///The `RefundLineItem` resources attached to the refund. /// public RefundLineItemConnection? refundLineItems { get; set; } @@ -47637,6 +50322,14 @@ public class RefundShippingLine : GraphQLObject, INode ///The `ShippingLine` resource associated to the refunded shipping line item. /// public ShippingLine? shippingLine { get; set; } + /// + ///The subtotal amount of the refund shipping line in shop and presentment currencies. + /// + public MoneyBag? subtotalAmountSet { get; set; } + /// + ///The tax amount of the refund shipping line in shop and presentment currencies. + /// + public MoneyBag? taxAmountSet { get; set; } } /// @@ -48006,6 +50699,21 @@ public class RestockingFee : GraphQLObject, IFee public float? percentage { get; set; } } + /// + ///Information about product is restricted for a given resource. + /// + public class RestrictedForResource : GraphQLObject + { + /// + ///Returns true when the product is restricted for the given resource. + /// + public bool? restricted { get; set; } + /// + ///Restriction reason for the given resource. + /// + public string? restrictedReason { get; set; } + } + /// ///Represents a return. /// @@ -48811,21 +51519,6 @@ public interface IReverseDeliveryDeliverable : IGraphQLObject public ReverseDeliveryTrackingV2? tracking { get; set; } } - /// - ///Return type for `reverseDeliveryDispose` mutation. - /// - public class ReverseDeliveryDisposePayload : GraphQLObject - { - /// - ///The disposed reverse delivery line items. - /// - public IEnumerable? reverseDeliveryLineItems { get; set; } - /// - ///The list of errors that occurred from executing the mutation. - /// - public IEnumerable? userErrors { get; set; } - } - /// ///An auto-generated type which holds one ReverseDelivery and a cursor during pagination. /// @@ -49103,11 +51796,9 @@ public class ReverseFulfillmentOrderLineItem : GraphQLObject public IEnumerable? dispositions { get; set; } - /// ///The corresponding fulfillment line item for a reverse fulfillment order line item. /// - [Obsolete("FulfillmentLineItem will be nullable as of API version 2024-10. Older version will return error when FulfillmentLineItem is null.")] public FulfillmentLineItem? fulfillmentLineItem { get; set; } /// ///A globally-unique ID. @@ -50010,15 +52701,15 @@ public enum SearchResultType /// ///A page. /// - ONLINE_STORE_PAGE, + PAGE, /// ///A blog. /// - ONLINE_STORE_BLOG, + BLOG, /// ///An article. /// - ONLINE_STORE_ARTICLE, + ARTICLE, /// ///A URL redirect. /// @@ -51943,6 +54634,10 @@ public class ShippingLine : GraphQLObject, IDraftOrderPlatformDisc /// public string? code { get; set; } /// + ///The current shipping price after applying refunds, after applying discounts. If the parent `order.taxesIncluded`` field is true, then this price includes taxes. Otherwise, this field is the pre-tax price. + /// + public MoneyBag? currentDiscountedPriceSet { get; set; } + /// ///Whether the shipping line is custom or not. /// public bool? custom { get; set; } @@ -52098,22 +54793,6 @@ public class ShippingLineSale : GraphQLObject, ISale public MoneyBag? totalTaxAmount { get; set; } } - /// - ///The shipping method for the delivery. Customers will see applicable shipping methods in the shipping section of checkout. - /// - public class ShippingMethod : GraphQLObject - { - /// - ///A unique code associated with the rate. For example: `expedited_mail` - /// - public string? code { get; set; } - /// - ///A description of the rate, which customers will see at checkout. - ///For example: `Local delivery`, `Free Express Worldwide`, `Includes tracking and insurance`. - /// - public string? label { get; set; } - } - /// ///Return type for `shippingPackageDelete` mutation. /// @@ -52234,6 +54913,10 @@ public class ShippingRefund : GraphQLObject /// public class Shop : GraphQLObject, IHasMetafields, IHasPublishedTranslations, INode, IMetafieldReferencer { + /// + ///Account owner information. + /// + public StaffMember? accountOwner { get; set; } /// ///A list of the shop's active alert messages that appear in the Shopify admin. /// @@ -52512,18 +55195,6 @@ public class Shop : GraphQLObject, IHasMetafields, IHasPublishedTranslatio ///The shop's billing plan. /// public ShopPlan? plan { get; set; } - - /// - ///List of the shop's price rule saved searches. - /// - [Obsolete("Use `QueryRoot.priceRuleSavedSearches` instead.")] - public SavedSearchConnection? priceRuleSavedSearches { get; set; } - - /// - ///List of the shop’s price rules. - /// - [Obsolete("Use `QueryRoot.priceRules` instead.")] - public PriceRuleConnection? priceRules { get; set; } /// ///The primary domain of the shop's online store. /// @@ -52613,6 +55284,10 @@ public class Shop : GraphQLObject, IHasMetafields, IHasPublishedTranslatio /// public IEnumerable? shipsToCountries { get; set; } /// + ///The name of the shop owner. + /// + public string? shopOwnerName { get; set; } + /// ///The list of all legal policies associated with a shop. /// public IEnumerable? shopPolicies { get; set; } @@ -53441,18 +56116,10 @@ public class ShopifyPaymentsAccount : GraphQLObject, INo /// public ShopifyPaymentsDisputeConnection? disputes { get; set; } /// - ///The fraud settings of the Shopify Payments account. - /// - public ShopifyPaymentsFraudSettings? fraudSettings { get; set; } - /// ///A globally-unique ID. /// public string? id { get; set; } /// - ///The notifications settings for the account. - /// - public ShopifyPaymentsNotificationSettings? notificationSettings { get; set; } - /// ///Whether the Shopify Payments account can be onboarded. /// public bool? onboardable { get; set; } @@ -53470,14 +56137,6 @@ public class ShopifyPaymentsAccount : GraphQLObject, INo ///All current and previous payouts made between the account and the bank account. /// public ShopifyPaymentsPayoutConnection? payouts { get; set; } - /// - ///The permitted documents for identity verification. - /// - public IEnumerable? permittedVerificationDocuments { get; set; } - /// - ///The verifications necessary for this account. - /// - public IEnumerable? verifications { get; set; } } /// @@ -54171,21 +56830,6 @@ public class ShopifyPaymentsExtendedAuthorization : GraphQLObject - ///The fraud settings of a payments account. - /// - public class ShopifyPaymentsFraudSettings : GraphQLObject - { - /// - ///Decline a charge if there's an AVS failure. - /// - public bool? declineChargeOnAvsFailure { get; set; } - /// - ///Decline a charge if there's an CVC failure. - /// - public bool? declineChargeOnCvcFailure { get; set; } - } - /// ///The charge descriptors for a Japanese payments account. /// @@ -54209,17 +56853,6 @@ public class ShopifyPaymentsJpChargeStatementDescriptor : GraphQLObject - ///The notification settings for the account. - /// - public class ShopifyPaymentsNotificationSettings : GraphQLObject - { - /// - ///Receive email notifications when new payouts are sent or payouts fail. - /// - public bool? payouts { get; set; } - } - /// ///Payouts represent the movement of money between a merchant's Shopify ///Payments balance and their bank account. @@ -54230,6 +56863,10 @@ public class ShopifyPaymentsPayout : GraphQLObject, ILega ///The bank account for the payout. /// public ShopifyPaymentsBankAccount? bankAccount { get; set; } + /// + ///The business entity associated with the payout. + /// + public BusinessEntity? businessEntity { get; set; } /// ///The total amount and currency of the payout. @@ -54393,6 +57030,14 @@ public class ShopifyPaymentsPayoutSummary : GraphQLObject public MoneyV2? adjustmentsGross { get; set; } /// + ///Total fees for all advances. + /// + public MoneyV2? advanceFees { get; set; } + /// + ///Total gross amount for all advances. + /// + public MoneyV2? advanceGross { get; set; } + /// ///Total fees for all charges. /// public MoneyV2? chargesFee { get; set; } @@ -54871,6 +57516,14 @@ public enum ShopifyPaymentsTransactionType ///The transfer_refund transaction type. /// TRANSFER_REFUND, + /// + ///The advance transaction type. + /// + ADVANCE, + /// + ///The advance funding transaction type. + /// + ADVANCE_FUNDING, } /// @@ -54893,44 +57546,6 @@ public class ShopifyPaymentsVerification : GraphQLObject - ///A document which can be used to verify an individual. - /// - public class ShopifyPaymentsVerificationDocument : GraphQLObject - { - /// - ///True if the back side of the document is required. - /// - public bool? backRequired { get; set; } - /// - ///True if the front side of the document is required. - /// - public bool? frontRequired { get; set; } - /// - ///The type of the document which can be used for verification. - /// - public ShopifyPaymentsVerificationDocumentType? type { get; set; } - } - - /// - ///The types of possible verification documents. - /// - public enum ShopifyPaymentsVerificationDocumentType - { - /// - ///The subject's driver's license. - /// - DRIVERS_LICENSE, - /// - ///A government's identification document of the subject. - /// - GOVERNMENT_IDENTIFICATION, - /// - ///The subject's passport. - /// - PASSPORT, - } - /// ///The status of a verification. /// @@ -55044,6 +57659,10 @@ public enum ShopifyProtectStatus /// public class StaffMember : GraphQLObject, INode { + /// + ///The type of account the staff member has. + /// + public AccountType? accountType { get; set; } /// ///Whether the staff member is active. /// @@ -55305,6 +57924,29 @@ public class StaffMemberPrivateData : GraphQLObject public IEnumerable? permissions { get; set; } } + /// + ///The set of valid sort keys for the StaffMembers query. + /// + public enum StaffMembersSortKeys + { + /// + ///Sort by the `first_name` value. + /// + FIRST_NAME, + /// + ///Sort by the `last_name` value. + /// + LAST_NAME, + /// + ///Sort by the `email` value. + /// + EMAIL, + /// + ///Sort by the `id` value. + /// + ID, + } + /// ///Information about a staged upload target, which should be used to send a request to upload ///the file. @@ -55587,6 +58229,10 @@ public enum StandardMetafieldDefinitionEnableUserErrorCode ///The definition type is not eligible to be used as collection condition. /// TYPE_NOT_ALLOWED_FOR_CONDITIONS, + /// + ///The input combination is invalid. + /// + INVALID_INPUT_COMBINATION, } /// @@ -56277,6 +58923,14 @@ public class SubscriptionBillingAttempt : GraphQLObject public DateTime? originTime { get; set; } /// + ///The reference shared between retried payment attempts. + /// + public string? paymentGroupId { get; set; } + /// + ///The reference shared between payment attempts with similar payment details. + /// + public string? paymentSessionId { get; set; } + /// ///Whether the billing attempt is still processing. /// public bool? ready { get; set; } @@ -56284,6 +58938,10 @@ public class SubscriptionBillingAttempt : GraphQLObject public SubscriptionContract? subscriptionContract { get; set; } + /// + ///The transactions created by the billing attempt. + /// + public OrderTransactionConnection? transactions { get; set; } } /// @@ -57135,6 +59793,10 @@ public class SubscriptionContract : GraphQLObject, INode, /// public string? id { get; set; } /// + ///The last billing error type of the contract. + /// + public SubscriptionContractLastBillingErrorType? lastBillingAttemptErrorType { get; set; } + /// ///The current status of the last payment. /// public SubscriptionContractLastPaymentStatus? lastPaymentStatus { get; set; } @@ -57394,6 +60056,29 @@ public class SubscriptionContractFailPayload : GraphQLObject? userErrors { get; set; } } + /// + ///The possible values of the last billing error on a subscription contract. + /// + public enum SubscriptionContractLastBillingErrorType + { + /// + ///Subscription billing attempt error due to payment error. + /// + PAYMENT_ERROR, + /// + ///Subscription billing attempt error due to customer error. + /// + CUSTOMER_ERROR, + /// + ///Subscription billing attempt error due to inventory error. + /// + INVENTORY_ERROR, + /// + ///All other billing attempt errors. + /// + OTHER, + } + /// ///The possible status values of the last payment on a subscription contract. /// @@ -57663,7 +60348,7 @@ public class SubscriptionDeliveryMethodPickupOption : GraphQLObject public string? description { get; set; } /// - ///The location where the customer will pickup the merchandise. + ///The location where the customer will pick up the merchandise. /// public Location? location { get; set; } /// @@ -59508,6 +62193,10 @@ public class TaxLine : GraphQLObject /// public float? ratePercentage { get; set; } /// + ///The source of the tax. + /// + public string? source { get; set; } + /// ///The name of the tax. /// public string? title { get; set; } @@ -59799,6 +62488,10 @@ public class TenderTransaction : GraphQLObject, INode /// public string? id { get; set; } /// + ///The order that's related to the tender transaction. This value is null if the order has been deleted. + /// + public Order? order { get; set; } + /// ///Information about the payment method used for the transaction. /// public string? paymentMethod { get; set; } @@ -59891,6 +62584,296 @@ public class TenderTransactionEdge : GraphQLObject, IEdge public TenderTransaction? node { get; set; } } + /// + ///Return type for `themeCreate` mutation. + /// + public class ThemeCreatePayload : GraphQLObject + { + /// + ///The theme that was created. + /// + public OnlineStoreTheme? theme { get; set; } + /// + ///The list of errors that occurred from executing the mutation. + /// + public IEnumerable? userErrors { get; set; } + } + + /// + ///An error that occurs during the execution of `ThemeCreate`. + /// + public class ThemeCreateUserError : GraphQLObject, IDisplayableError + { + /// + ///The error code. + /// + public ThemeCreateUserErrorCode? code { get; set; } + /// + ///The path to the input field that caused the error. + /// + public IEnumerable? field { get; set; } + /// + ///The error message. + /// + public string? message { get; set; } + } + + /// + ///Possible error codes that can be returned by `ThemeCreateUserError`. + /// + public enum ThemeCreateUserErrorCode + { + /// + ///Must be a zip file. + /// + INVALID_ZIP, + /// + ///Zip is empty. + /// + ZIP_IS_EMPTY, + /// + ///May not be used to fetch a file bigger + /// than 50MB. + /// + ZIP_TOO_LARGE, + } + + /// + ///Return type for `themeDelete` mutation. + /// + public class ThemeDeletePayload : GraphQLObject + { + /// + ///The ID of the deleted theme. + /// + public string? deletedThemeId { get; set; } + /// + ///The list of errors that occurred from executing the mutation. + /// + public IEnumerable? userErrors { get; set; } + } + + /// + ///An error that occurs during the execution of `ThemeDelete`. + /// + public class ThemeDeleteUserError : GraphQLObject, IDisplayableError + { + /// + ///The error code. + /// + public ThemeDeleteUserErrorCode? code { get; set; } + /// + ///The path to the input field that caused the error. + /// + public IEnumerable? field { get; set; } + /// + ///The error message. + /// + public string? message { get; set; } + } + + /// + ///Possible error codes that can be returned by `ThemeDeleteUserError`. + /// + public enum ThemeDeleteUserErrorCode + { + /// + ///The record with the ID used as the input value couldn't be found. + /// + NOT_FOUND, + } + + /// + ///Return type for `themeFilesCopy` mutation. + /// + public class ThemeFilesCopyPayload : GraphQLObject + { + /// + ///The resulting theme files. + /// + public IEnumerable? copiedThemeFiles { get; set; } + /// + ///The list of errors that occurred from executing the mutation. + /// + public IEnumerable? userErrors { get; set; } + } + + /// + ///Return type for `themeFilesDelete` mutation. + /// + public class ThemeFilesDeletePayload : GraphQLObject + { + /// + ///The resulting theme files. + /// + public IEnumerable? deletedThemeFiles { get; set; } + /// + ///The list of errors that occurred from executing the mutation. + /// + public IEnumerable? userErrors { get; set; } + } + + /// + ///Return type for `themeFilesUpsert` mutation. + /// + public class ThemeFilesUpsertPayload : GraphQLObject + { + /// + ///The theme files write job triggered by the mutation. + /// + public Job? job { get; set; } + /// + ///The resulting theme files. + /// + public IEnumerable? upsertedThemeFiles { get; set; } + /// + ///The list of errors that occurred from executing the mutation. + /// + public IEnumerable? userErrors { get; set; } + } + + /// + ///Return type for `themePublish` mutation. + /// + public class ThemePublishPayload : GraphQLObject + { + /// + ///The theme that was published. + /// + public OnlineStoreTheme? theme { get; set; } + /// + ///The list of errors that occurred from executing the mutation. + /// + public IEnumerable? userErrors { get; set; } + } + + /// + ///An error that occurs during the execution of `ThemePublish`. + /// + public class ThemePublishUserError : GraphQLObject, IDisplayableError + { + /// + ///The error code. + /// + public ThemePublishUserErrorCode? code { get; set; } + /// + ///The path to the input field that caused the error. + /// + public IEnumerable? field { get; set; } + /// + ///The error message. + /// + public string? message { get; set; } + } + + /// + ///Possible error codes that can be returned by `ThemePublishUserError`. + /// + public enum ThemePublishUserErrorCode + { + /// + ///The record with the ID used as the input value couldn't be found. + /// + NOT_FOUND, + /// + ///Theme publishing is not available during install. + /// + CANNOT_PUBLISH_THEME_DURING_INSTALL, + /// + ///Theme publishing is not allowed on this plan. + /// + THEME_PUBLISH_NOT_AVAILABLE_FOR_THEME_LIMITED_PLAN, + } + + /// + ///The role of the theme. + /// + public enum ThemeRole + { + /// + ///TThe currently published theme. There can only be one main theme at any time. + /// + MAIN, + /// + ///The theme is currently not published. It can be transitioned to the main role if it is published by the merchant. + /// + UNPUBLISHED, + /// + ///The theme is installed as a trial from the Shopify Theme Store. It can be customized using the theme editor, but access to the code editor and the ability to publish the theme are restricted until it is purchased. + /// + DEMO, + /// + ///The theme is automatically created by the CLI for previewing purposes when in a development session. + /// + DEVELOPMENT, + /// + ///The theme is archived if a merchant changes their plan and exceeds the maximum number of themes allowed. Archived themes can be downloaded by merchant, but can not be customized or published until the plan is upgraded. + /// + ARCHIVED, + /// + ///The theme is locked if it is identified as unlicensed. Customization and publishing are restricted until the merchant resolves the licensing issue. + /// + LOCKED, + /// + ///The currently published theme that is only accessible to a mobile client. + /// + [Obsolete("The feature for this role has been deprecated.")] + MOBILE, + } + + /// + ///Return type for `themeUpdate` mutation. + /// + public class ThemeUpdatePayload : GraphQLObject + { + /// + ///The theme that was updated. + /// + public OnlineStoreTheme? theme { get; set; } + /// + ///The list of errors that occurred from executing the mutation. + /// + public IEnumerable? userErrors { get; set; } + } + + /// + ///An error that occurs during the execution of `ThemeUpdate`. + /// + public class ThemeUpdateUserError : GraphQLObject, IDisplayableError + { + /// + ///The error code. + /// + public ThemeUpdateUserErrorCode? code { get; set; } + /// + ///The path to the input field that caused the error. + /// + public IEnumerable? field { get; set; } + /// + ///The error message. + /// + public string? message { get; set; } + } + + /// + ///Possible error codes that can be returned by `ThemeUpdateUserError`. + /// + public enum ThemeUpdateUserErrorCode + { + /// + ///The record with the ID used as the input value couldn't be found. + /// + NOT_FOUND, + /// + ///The input value is too long. + /// + TOO_LONG, + /// + ///The input value is invalid. + /// + INVALID, + } + /// ///A sale associated with a tip. /// @@ -60081,6 +63064,10 @@ public class TranslatableContent : GraphQLObject /// public class TranslatableResource : GraphQLObject { + /// + ///Nested translatable resources under the current resource. + /// + public TranslatableResourceConnection? nestedTranslatableResources { get; set; } /// ///GID of the resource. /// @@ -60134,6 +63121,14 @@ public class TranslatableResourceEdge : GraphQLObject, /// public enum TranslatableResourceType { + /// + ///A blog post. Translatable fields: `title`, `body_html`, `summary_html`, `handle`, `meta_title`, `meta_description`. + /// + ARTICLE, + /// + ///A blog. Translatable fields: `title`, `handle`, `meta_title`, `meta_description`. + /// + BLOG, /// ///A product collection. Translatable fields: `title`, `body_html`, `handle`, `meta_title`, `meta_description`. /// @@ -60155,6 +63150,10 @@ public enum TranslatableResourceType /// LINK, /// + ///A category of links. Translatable fields: `title`. + /// + MENU, + /// ///A Metafield. Translatable fields: `value`. /// METAFIELD, @@ -60163,30 +63162,42 @@ public enum TranslatableResourceType /// METAOBJECT, /// - ///An online store article. Translatable fields: `title`, `body_html`, `summary_html`, `handle`, `meta_title`, `meta_description`. + ///An online store theme. Translatable fields: `dynamic keys based on theme data`. /// - ONLINE_STORE_ARTICLE, + ONLINE_STORE_THEME, /// - ///An online store blog. Translatable fields: `title`, `handle`, `meta_title`, `meta_description`. + ///A theme app embed. Translatable fields: `dynamic keys based on theme data`. /// - ONLINE_STORE_BLOG, + ONLINE_STORE_THEME_APP_EMBED, /// - ///A category of links. Translatable fields: `title`. + ///A theme json template. Translatable fields: `dynamic keys based on theme data`. /// - ONLINE_STORE_MENU, + ONLINE_STORE_THEME_JSON_TEMPLATE, /// - ///An online store page. Translatable fields: `title`, `body_html`, `handle`, `meta_title`, `meta_description`. + ///Locale file content of an online store theme. Translatable fields: `dynamic keys based on theme data`. /// - ONLINE_STORE_PAGE, + ONLINE_STORE_THEME_LOCALE_CONTENT, /// - ///An online store theme. Translatable fields: `dynamic keys based on theme data`. + ///A theme json section group. Translatable fields: `dynamic keys based on theme data`. /// - ONLINE_STORE_THEME, + ONLINE_STORE_THEME_SECTION_GROUP, + /// + ///A theme setting category. Translatable fields: `dynamic keys based on theme data`. + /// + ONLINE_STORE_THEME_SETTINGS_CATEGORY, + /// + ///Shared static sections of an online store theme. Translatable fields: `dynamic keys based on theme data`. + /// + ONLINE_STORE_THEME_SETTINGS_DATA_SECTIONS, /// ///A packing slip template. Translatable fields: `body`. /// PACKING_SLIP_TEMPLATE, /// + ///A page. Translatable fields: `title`, `body_html`, `handle`, `meta_title`, `meta_description`. + /// + PAGE, + /// ///A payment gateway. Translatable fields: `name`, `message`, `before_payment_instructions`. /// PAYMENT_GATEWAY, @@ -60423,6 +63434,107 @@ public class UTMParameters : GraphQLObject public string? term { get; set; } } + /// + ///The measurement used to calculate a unit price for a product variant (e.g. $9.99 / 100ml). + /// + public class UnitPriceMeasurement : GraphQLObject + { + /// + ///The type of unit of measurement for the unit price measurement. + /// + public UnitPriceMeasurementMeasuredType? measuredType { get; set; } + /// + ///The quantity unit for the unit price measurement. + /// + public UnitPriceMeasurementMeasuredUnit? quantityUnit { get; set; } + /// + ///The quantity value for the unit price measurement. + /// + public float? quantityValue { get; set; } + /// + ///The reference unit for the unit price measurement. + /// + public UnitPriceMeasurementMeasuredUnit? referenceUnit { get; set; } + /// + ///The reference value for the unit price measurement. + /// + public int? referenceValue { get; set; } + } + + /// + ///The accepted types of unit of measurement. + /// + public enum UnitPriceMeasurementMeasuredType + { + /// + ///Unit of measurements representing volumes. + /// + VOLUME, + /// + ///Unit of measurements representing weights. + /// + WEIGHT, + /// + ///Unit of measurements representing lengths. + /// + LENGTH, + /// + ///Unit of measurements representing areas. + /// + AREA, + } + + /// + ///The valid units of measurement for a unit price measurement. + /// + public enum UnitPriceMeasurementMeasuredUnit + { + /// + ///1000 milliliters equals 1 liter. + /// + ML, + /// + ///100 centiliters equals 1 liter. + /// + CL, + /// + ///Metric system unit of volume. + /// + L, + /// + ///1 cubic meter equals 1000 liters. + /// + M3, + /// + ///1000 milligrams equals 1 gram. + /// + MG, + /// + ///Metric system unit of weight. + /// + G, + /// + ///1 kilogram equals 1000 grams. + /// + KG, + /// + ///1000 millimeters equals 1 meter. + /// + MM, + /// + ///100 centimeters equals 1 meter. + /// + CM, + /// + ///Metric system unit of length. + /// + M, + /// + ///Metric system unit of area. + /// + M2, + } + /// ///Systems of weights and measures. /// @@ -61185,6 +64297,10 @@ public enum ValidationUserErrorCode /// FUNCTION_PENDING_DELETION, /// + ///Cannot have more than 5 active validation functions. + /// + MAX_VALIDATIONS_ACTIVATED, + /// ///The type is invalid. /// INVALID_TYPE, @@ -61708,6 +64824,10 @@ public enum WebhookSubscriptionTopic /// APP_UNINSTALLED, /// + ///The webhook topic for `app/scopes_update` events. Occurs whenever the access scopes of any installation are modified. Allows apps to keep track of the granted access scopes of their installations. + /// + APP_SCOPES_UPDATE, + /// ///The webhook topic for `carts/create` events. Occurs when a cart is created in the online store. Other types of carts aren't supported. For example, the webhook doesn't support carts that are created in a custom storefront. Requires the `read_orders` scope. /// CARTS_CREATE, @@ -61924,7 +65044,10 @@ public enum WebhookSubscriptionTopic /// FULFILLMENT_ORDERS_MOVED, /// - ///The webhook topic for `fulfillment_orders/hold_released` events. Occurs whenever a fulfillment order hold is released. Requires at least one of the following scopes: read_merchant_managed_fulfillment_orders, read_assigned_fulfillment_orders, read_third_party_fulfillment_orders, read_marketplace_fulfillment_orders. + ///The webhook topic for `fulfillment_orders/hold_released` events. Occurs when a fulfillment order is released and is no longer on hold. + /// + ///If a fulfillment order has multiple holds then this webhook will only be triggered once when the last hold is released and the status of the fulfillment order is no longer `ON_HOLD`. + /// Requires at least one of the following scopes: read_merchant_managed_fulfillment_orders, read_assigned_fulfillment_orders, read_third_party_fulfillment_orders, read_marketplace_fulfillment_orders. /// FULFILLMENT_ORDERS_HOLD_RELEASED, /// @@ -61972,7 +65095,10 @@ public enum WebhookSubscriptionTopic /// FULFILLMENT_ORDERS_LINE_ITEMS_PREPARED_FOR_LOCAL_DELIVERY, /// - ///The webhook topic for `fulfillment_orders/placed_on_hold` events. Occurs when a fulfillment order is placed on hold. Requires at least one of the following scopes: read_merchant_managed_fulfillment_orders, read_assigned_fulfillment_orders, read_third_party_fulfillment_orders, read_marketplace_fulfillment_orders. + ///The webhook topic for `fulfillment_orders/placed_on_hold` events. Occurs when a fulfillment order transitions to the `ON_HOLD` status + /// + ///For cases where multiple holds are applied to a fulfillment order, this webhook will only trigger once when the first hold is applied and the fulfillment order status changes to `ON_HOLD`. + /// Requires at least one of the following scopes: read_merchant_managed_fulfillment_orders, read_assigned_fulfillment_orders, read_third_party_fulfillment_orders, read_marketplace_fulfillment_orders. /// FULFILLMENT_ORDERS_PLACED_ON_HOLD, /// @@ -62471,6 +65597,18 @@ public enum WebhookSubscriptionTopic ///The webhook topic for `discounts/redeemcode_removed` events. Occurs whenever a redeem code on a code discount is deleted. Requires the `read_discounts` scope. /// DISCOUNTS_REDEEMCODE_REMOVED, + /// + ///The webhook topic for `metafield_definitions/create` events. Occurs when a metafield definition is created. Requires the `read_content` scope. + /// + METAFIELD_DEFINITIONS_CREATE, + /// + ///The webhook topic for `metafield_definitions/update` events. Occurs when a metafield definition is updated. Requires the `read_content` scope. + /// + METAFIELD_DEFINITIONS_UPDATE, + /// + ///The webhook topic for `metafield_definitions/delete` events. Occurs when a metafield definition is deleted. Requires the `read_content` scope. + /// + METAFIELD_DEFINITIONS_DELETE, } /// diff --git a/ShopifySharp/Services/ShopifyService.cs b/ShopifySharp/Services/ShopifyService.cs index a6720ee5f..81deb2612 100644 --- a/ShopifySharp/Services/ShopifyService.cs +++ b/ShopifySharp/Services/ShopifyService.cs @@ -22,7 +22,7 @@ public abstract class ShopifyService : IShopifyService #nullable enable - public virtual string APIVersion => "2024-07"; + public virtual string APIVersion => "2024-10"; public virtual bool SupportsAPIVersioning => true; protected Uri _ShopUri { get; set; } diff --git a/ShopifySharp/ShopifySharp.csproj b/ShopifySharp/ShopifySharp.csproj index b3c8efbc8..026e77122 100644 --- a/ShopifySharp/ShopifySharp.csproj +++ b/ShopifySharp/ShopifySharp.csproj @@ -3,7 +3,7 @@ net6.0;netstandard2.0;net8.0 ShopifySharp ShopifySharp - 6.19.0 + 6.20.0 true snupkg Latest diff --git a/readme.md b/readme.md index 0ee75a08d..fdec2e4ed 100644 --- a/readme.md +++ b/readme.md @@ -56,7 +56,8 @@ Shopify has begun versioning their API, meaning new features are locked behind n | 6.3.0 - 6.12.2 | 2023-07 | | 6.13.0 - 6.14.1 | 2024-01 | | 6.15.0 - 6.17.0 | 2024-04 | -| 6.18.0 and above. | 2024-07 | +| 6.18.0 - 6.19.0 | 2024-07 | +| 6.20.0 and above. | 2024-10 | The oldest version of .NET Framework we can support is [whichever version is supported by .NET Standard 2.0](https://learn.microsoft.com/en-us/dotnet/standard/net-standard?tabs=net-standard-2-0#net-standard-versions).