directive @cacheable on QUERY directive @optionalField on FIELD directive @principalField on FIELD type AI { prompt( """ The ID of the AI prompt template """ id: String ): AIPromptTemplate promptConnection( after: String before: String first: Int last: Int """ Filter by model (e.g., claude, gpt) """ model: String """ Filter by template name """ name: String page: Int size: Int ): AIPromptTemplateConnection } union AIAgentEvent = AIAgentTextDelta | AIAgentToolCall | AIAgentToolResult | AIAgentTurnComplete input AIAgentMessageInput { artworkIDs: [String!] content: String! role: AIAgentRole! } enum AIAgentRole { ASSISTANT USER } type AIAgentTextDelta { text: String! } type AIAgentToolCall { """ Human-readable label, e.g. "Searching artists…". """ summary: String toolName: String! } type AIAgentToolResult { ok: Boolean! summary: String toolName: String! } type AIAgentTurnComplete { """ Artworks referenced in the answer, for rendering as cards. """ artworks: [Artwork!] message: String stopReason: String! toolCallCount: Int! } input AIAgentTurnInput { """ Client-generated; identifies which conversation a turn belongs to. """ conversationID: String! """ Prior turns, owned and replayed by the client. """ history: [AIAgentMessageInput!] """ The new user message. """ message: String! } type AIPromptTemplate { """ A globally unique ID. """ id: ID! """ A type-specific ID. """ internalID: ID! model: String! name: String! systemPrompt: String userPrompt: String } """ A connection to a list of items. """ type AIPromptTemplateConnection { """ A list of edges. """ edges: [AIPromptTemplateEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type AIPromptTemplateEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: AIPromptTemplate } type ARImage { height: Int imageURLs: ImageURLs internalID: ID! width: Int } input ARImageInput { internalID: ID! } input AcceptPartnerAgreementInput { clientMutationId: String """ ID of the partner agreement. """ partnerAgreementID: String! } type AcceptPartnerAgreementPayload { clientMutationId: String partnerAgreementOrErrors: PartnerAgreementOrErrorsUnion! } type AccountMutationFailure { mutationError: GravityMutationError } type AccountMutationSuccess { success: Boolean } union AccountMutationType = AccountMutationFailure | AccountMutationSuccess type AccountRequest { """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! notes: String } type AckTaskFailure { mutationError: GravityMutationError! } input AckTaskMutationInput { clientMutationId: String id: String! } type AckTaskMutationPayload { clientMutationId: String homeViewTasksSection: HomeViewSectionTasks """ On success: the new state of the Task """ taskOrError: AckTaskResponseOrError! } union AckTaskResponseOrError = AckTaskFailure | AckTaskSuccess type AckTaskSuccess { task: Task! } type AddArtworkToPartnerListFailure { mutationError: GravityMutationError } input AddArtworkToPartnerListMutationInput { """ The ID of the artwork to add. """ artworkId: String! clientMutationId: String """ The ID of the partner list. """ listId: String! } type AddArtworkToPartnerListMutationPayload { clientMutationId: String """ On success: the updated partner list. On error: the error that occurred. """ partnerListOrError: AddArtworkToPartnerListResponseOrError } union AddArtworkToPartnerListResponseOrError = AddArtworkToPartnerListFailure | AddArtworkToPartnerListSuccess type AddArtworkToPartnerListSuccess { partnerList: PartnerList } type AddArtworkToPartnerShowFailure { mutationError: GravityMutationError } input AddArtworkToPartnerShowMutationInput { """ The ID of the artwork to add to the show. """ artworkId: String! clientMutationId: String """ The ID of the partner. """ partnerId: String! """ The ID of the show. """ showId: String! } type AddArtworkToPartnerShowMutationPayload { clientMutationId: String """ On success: the show that the artwork was added to. On error: the error that occurred. """ showOrError: AddArtworkToPartnerShowResponseOrError } union AddArtworkToPartnerShowResponseOrError = AddArtworkToPartnerShowFailure | AddArtworkToPartnerShowSuccess type AddArtworkToPartnerShowSuccess { show: Show } """ Autogenerated input type of AddAssetToConsignmentSubmission """ input AddAssetToConsignmentSubmissionInput { assetType: String """ A unique identifier for the client performing the mutation. """ clientMutationId: String externalSubmissionId: ID filename: String geminiToken: String sessionID: String size: String source: UploadSource submissionID: ID } """ Autogenerated return type of AddAssetToConsignmentSubmission """ type AddAssetToConsignmentSubmissionPayload { asset: ConsignmentSubmissionCategoryAsset """ A unique identifier for the client performing the mutation. """ clientMutationId: String } """ Autogenerated input type of AddAssetsToConsignmentSubmission """ input AddAssetsToConsignmentSubmissionInput { assetType: String """ A unique identifier for the client performing the mutation. """ clientMutationId: String externalSubmissionId: ID filename: String geminiTokens: [String!] sessionID: String size: String sources: UploadSources submissionID: ID } """ Autogenerated return type of AddAssetsToConsignmentSubmission """ type AddAssetsToConsignmentSubmissionPayload { assets: [ConsignmentSubmissionCategoryAsset!] """ A unique identifier for the client performing the mutation. """ clientMutationId: String } type AddInstallShotToPartnerShowFailure { mutationError: GravityMutationError } input AddInstallShotToPartnerShowMutationInput { """ Optional caption for the installation shot. """ caption: String clientMutationId: String """ Optional URL of the image to add as an installation shot. If provided, this will be used instead of the S3 bucket and key. """ imageUrl: String """ Optional flag to indicate if this installation shot should be set as the default (cover) image for the show. """ isDefault: Boolean """ The S3 bucket where the image is stored. """ s3Bucket: String """ The S3 key for the image to add as an installation shot. """ s3Key: String """ The ID of the show. """ showId: String! } type AddInstallShotToPartnerShowMutationPayload { clientMutationId: String """ On success: the show that the installation shot was added to. On error: the error that occurred. """ showOrError: AddInstallShotToPartnerShowResponseOrError } union AddInstallShotToPartnerShowResponseOrError = AddInstallShotToPartnerShowFailure | AddInstallShotToPartnerShowSuccess type AddInstallShotToPartnerShowSuccess { show: Show } """ Autogenerated input type of AddUserToSubmissionMutation """ input AddUserToSubmissionMutationInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String id: ID! } """ Autogenerated return type of AddUserToSubmissionMutation """ type AddUserToSubmissionMutationPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String consignmentSubmission: ConsignmentSubmission } type Admin { featureFlag(id: String): FeatureFlag """ A list of feature flags """ featureFlags( """ The sort order of the results """ sortBy: FeatureFlagsSortBy = NAME ): [FeatureFlag] } input AdminCreateFeatureFlagInput { clientMutationId: String description: String = "" impressionData: Boolean = false name: String strategy: FeatureFlagStrategyInput! type: FeatureFlagToggleType! variants: [FeatureFlagVariantInputName] } type AdminCreateFeatureFlagPayload { clientMutationId: String """ A list of feature flags """ featureFlags( """ The sort order of the results """ sortBy: FeatureFlagsSortBy = NAME ): [FeatureFlag] } input AdminDeleteFeatureFlagInput { clientMutationId: String name: String } type AdminDeleteFeatureFlagPayload { clientMutationId: String """ A list of feature flags """ featureFlags( """ The sort order of the results """ sortBy: FeatureFlagsSortBy = NAME ): [FeatureFlag] success: Boolean } enum AdminToggleFeatureFlagEnvironment { DEVELOPMENT PRODUCTION } input AdminToggleFeatureFlagInput { clientMutationId: String enabled: Boolean! environment: AdminToggleFeatureFlagEnvironment! name: String! } type AdminToggleFeatureFlagPayload { clientMutationId: String """ A list of feature flags """ featureFlags( """ The sort order of the results """ sortBy: FeatureFlagsSortBy = NAME ): [FeatureFlag] success: Boolean } input AdminUpdateFeatureFlagInput { clientMutationId: String description: String impressionData: Boolean = false name: String! type: String = "release" } type AdminUpdateFeatureFlagPayload { clientMutationId: String """ A list of feature flags """ featureFlags( """ The sort order of the results """ sortBy: FeatureFlagsSortBy = NAME ): [FeatureFlag] } """ One item in an aggregation """ type AggregationCount { count: Int! name: String! value: String! } """ A legal agreement requiring partner consent """ type Agreement { """ Agreement content in markdown format """ content: String createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String deactivatedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ Description of this agreement """ description: String """ Unique ID for this agreement """ id: ID! """ Name of this agreement """ name: String! updatedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String } type Alert { acquireable: Boolean additionalGeneIDs: [String] additionalGeneNames: [String] artistIDs: [String] artistSeriesIDs: [String] artistSeriesNames: [String] artists: [Artist!]! artistsConnection( after: String before: String first: Int last: Int ): ArtistConnection! """ Artworks Elastic Search results """ artworksConnection( acquireable: Boolean additionalGeneIDs: [String] after: String aggregationPartnerCities: [String] aggregations: [ArtworkAggregation] artistID: String artistIDs: [String] artistNationalities: [String] artistSeriesID: String artistSeriesIDs: [String] artsyListing: Boolean """ When provided, will only return artworks with these IDs. """ artworkIDs: [String] atAuction: Boolean attributionClass: [String] availability: String before: String categories: [String] """ Filter by certificate of authenticity. Accepted values: gallery, authenticating_body, no. """ certificateOfAuthenticity: String color: String colors: [String] """ Filter by artwork completeness tiers. Accepts multiple values. """ completenessTier: [String] """ When true, will only return artworks carrying the Curators' Pick collector signal. Cannot be combined with `marketingCollectionID`. """ curatorsPick: Boolean dimensionRange: String """ When true, will skip pushing sold works to the back of the list. Useful in a CMS context. """ disableNotForSaleSorting: Boolean excludeArtworkIDs: [String] extraAggregationGeneIDs: [String] first: Int forSale: Boolean """ When true, will only return framed artworks. """ framed: Boolean geneID: String geneIDs: [String] height: String """ Hybrid only: how many candidates the semantic arm retrieves. Higher = wider semantic net. """ hybridNeuralK: Int """ Hybrid only: results each arm contributes to the blend; must be ≥ from + page size. Caps pagination depth. """ hybridPaginationDepth: Int """ Hybrid only: [lexical, neural] balance when blending scores, e.g. [0.5,0.5] equal, [0.3,0.7] favors semantic. """ hybridWeights: [Float!] importSources: [String] includeAllJSON: Boolean includeArtworksByFollowedArtists: Boolean includeMediumFilterInAggregation: Boolean """ Include artworks not listed on Artsy (artsy_listing: false). """ includeNonArtsyListed: Boolean includeUnpublished: Boolean """ When true, will only return artworks carrying the Increased Interest collector signal. """ increasedInterest: Boolean input: FilterArtworksInput inquireableOnly: Boolean keyword: String """ When true, will only return exact keyword match """ keywordMatchExact: Boolean """ When true and a `keyword` search returns no results, retries once with typo tolerance. Ignored with `keywordMatchExact`. """ keywordTypoTolerance: Boolean last: Int locationCities: [String] locationId: String majorPeriods: [String] """ When true, will only return `marketable` works (not nude or provocative). """ marketable: Boolean marketingCollectionID: String materialsTerms: [String] """ A string from the list of allocations, or * to denote all mediums """ medium: String offerable: Boolean page: Int partnerCities: [String] partnerID: ID partnerIDs: [String] partnerListID: String period: String periods: [String] priceRange: String """ When false, will only return unpublished artworks for authorized users. """ published: Boolean saleID: ID showID: String """ When true, will only return signed artworks. """ signed: Boolean size: Int """ Filter results by Artwork sizes """ sizes: [ArtworkSizes] sold: Boolean sort: String tagID: String """ Search strategy. 'hybrid' blends semantic (meaning-based) results into the keyword search. Requires a keyword; team-only. """ variant: String viewingRoomID: ID visibilityLevel: String width: String ): FilterArtworksConnection atAuction: Boolean attributionClass: [String] colors: [String] dimensionRange: String """ A suggestion for a name that describes a set of saved search criteria in a conventional format """ displayName( """ An array of fields to exclude from the display name. """ except: [SearchCriteriaFields] """ An array of fields to include in the display name. """ only: [SearchCriteriaFields] ): String! forSale: Boolean formattedPriceRange: String height: String href: String """ A globally unique ID. """ id: ID! inquireableOnly: Boolean """ A type-specific ID. """ internalID: ID! keyword: String """ Human-friendly labels that are added by Metaphysics to the upstream SearchCriteria type coming from Gravity """ labels( """ An array of fields to exclude from labels array. """ except: [SearchCriteriaFields] """ An array of fields to include in labels array. """ only: [SearchCriteriaFields] ): [SearchCriteriaLabel!]! locationCities: [String] majorPeriods: [String] materialsTerms: [String] offerable: Boolean partnerIDs: [String] priceArray: [Int] priceRange: String searchCriteriaID: String! settings: AlertSettings! sizes: [String] summary: JSON width: String } """ A connection to a list of items. """ type AlertConnection { """ A list of edges. """ edges: [AlertEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type AlertEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: Alert } type AlertNotificationItem { alert: Alert artworksConnection( after: String before: String first: Int last: Int ): ArtworkConnection } type AlertSettings { details: String email: Boolean! frequency: AlertSettingsFrequency name: String push: Boolean! } enum AlertSettingsFrequency { DAILY INSTANT } input AlertSettingsInput { details: String email: Boolean frequency: AlertSettingsFrequency name: String push: Boolean } input AlertSource { """ The database id of the object from which the alert originates """ id: ID """ The type of object from which the alert originates """ type: AlertSourceType } """ The context from which the alert originates """ enum AlertSourceType { ARTIST ARTWORK } enum AlertsConnectionSortEnum { ENABLED_AT_DESC NAME_ASC } type Algolia { apiKey: String! @deprecated(reason: "Algolia search is no longer supported") appID: String! @deprecated(reason: "Algolia search is no longer supported") indices: [AlgoliaIndex!]! @deprecated(reason: "Algolia search is no longer supported") } type AlgoliaIndex { displayName: String! @deprecated(reason: "Algolia search is no longer supported") key: String! @deprecated(reason: "Algolia search is no longer supported") name: String! @deprecated(reason: "Algolia search is no longer supported") } type AnalyticsArtist { entityId: String! } """ Artist Affinity """ type AnalyticsArtistAffinity { """ Artist ID """ artistId: ID! """ Calculated affinity Score """ score: Float! } """ The connection type for ArtistAffinity. """ type AnalyticsArtistAffinityConnection { """ A list of edges. """ edges: [AnalyticsArtistAffinityEdge] """ A list of nodes. """ nodes: [AnalyticsArtistAffinity] pageCursors: PageCursors """ Information to aid in pagination. """ pageInfo: AnalyticsPageInfo! totalCount: Int totalPages: Int } """ An edge in a connection. """ type AnalyticsArtistAffinityEdge { """ A cursor for use in pagination. """ cursor: String! """ The item at the end of the edge. """ node: AnalyticsArtistAffinity } """ Artist ID and Medium Tuple """ input AnalyticsArtistIdMediumTupleType { artistId: String! medium: String! } """ Artist Recommendation """ type AnalyticsArtistRecommendation { """ Artist ID """ artistId: ID! """ Calculated score """ score: Float! } """ The connection type for ArtistRecommendation. """ type AnalyticsArtistRecommendationConnection { """ A list of edges. """ edges: [AnalyticsArtistRecommendationEdge] """ A list of nodes. """ nodes: [AnalyticsArtistRecommendation] pageCursors: PageCursors """ Information to aid in pagination. """ pageInfo: AnalyticsPageInfo! totalCount: Int totalPages: Int } """ An edge in a connection. """ type AnalyticsArtistRecommendationEdge { """ A cursor for use in pagination. """ cursor: String! """ The item at the end of the edge. """ node: AnalyticsArtistRecommendation } """ Artist Sparkline """ type AnalyticsArtistSparkline { artistId: ID! artistName: String eventDigest: String sparkles: BigInt tier: Float year: String } """ The connection type for ArtistSparkline. """ type AnalyticsArtistSparklineConnection { """ A list of edges. """ edges: [AnalyticsArtistSparklineEdge] """ A list of nodes. """ nodes: [AnalyticsArtistSparkline] pageCursors: PageCursors """ Information to aid in pagination. """ pageInfo: AnalyticsPageInfo! totalCount: Int totalPages: Int } """ An edge in a connection. """ type AnalyticsArtistSparklineEdge { """ A cursor for use in pagination. """ cursor: String! """ The item at the end of the edge. """ node: AnalyticsArtistSparkline } type AnalyticsArtwork { entityId: String! } """ Artwork Recommendation """ type AnalyticsArtworkRecommendation { """ Artwork ID """ artworkId: ID! """ Calculated score """ score: Float! } """ The connection type for ArtworkRecommendation. """ type AnalyticsArtworkRecommendationConnection { """ A list of edges. """ edges: [AnalyticsArtworkRecommendationEdge] """ A list of nodes. """ nodes: [AnalyticsArtworkRecommendation] pageCursors: PageCursors """ Information to aid in pagination. """ pageInfo: AnalyticsPageInfo! totalCount: Int totalPages: Int } """ An edge in a connection. """ type AnalyticsArtworkRecommendationEdge { """ A cursor for use in pagination. """ cursor: String! """ The item at the end of the edge. """ node: AnalyticsArtworkRecommendation } """ Publish artwork Series Stats """ type AnalyticsArtworksPublishedStats { percentageChanged: Int! period: AnalyticsQueryPeriodEnum! timeSeries: [AnalyticsPartnerTimeSeriesStats!]! totalCount: Int! } """ An ISO 8601 datetime """ scalar AnalyticsDateTime """ Visitor countries, device, referals and session page """ type AnalyticsGroupedStats { groupedEntity: AnalyticsGroupedStatsUnion! period: AnalyticsQueryPeriodEnum! } """ The connection type for GroupedStats. """ type AnalyticsGroupedStatsConnection { """ A list of edges. """ edges: [AnalyticsGroupedStatsEdge] """ A list of nodes. """ nodes: [AnalyticsGroupedStats] """ Information to aid in pagination. """ pageInfo: AnalyticsPageInfo! } """ An edge in a connection. """ type AnalyticsGroupedStatsEdge { """ A cursor for use in pagination. """ cursor: String! """ The item at the end of the edge. """ node: AnalyticsGroupedStats } enum AnalyticsGroupedStatsMetricEnum { """ visitor_by_device """ VISITOR_BY_DEVICE """ visitor_by_landing_page """ VISITOR_BY_LANDING_PAGE """ visitor_by_location """ VISITOR_BY_LOCATION """ visitor_by_referral """ VISITOR_BY_REFERRAL } enum AnalyticsGroupedStatsObjectTypeEnum { """ country """ COUNTRY """ device type """ DEVICE """ landing page """ LANDING_PAGE """ referral """ REFERRAL } """ A grouped stat item: country or device etc. """ union AnalyticsGroupedStatsUnion = AnalyticsVisitorsByCountry | AnalyticsVisitorsByDevice | AnalyticsVisitorsByLandingPage | AnalyticsVisitorsByReferral """ A histogram bin """ type AnalyticsHistogramBin { maxPrice( decimal: String = "." format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String maxPriceCents: Int! minPrice( decimal: String = "." format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String minPriceCents: Int! numArtworks: Int! } """ New For You Recommendation """ type AnalyticsNewForYouRecommendation { """ Artwork ID """ artworkId: ID! """ Artwork's published_at """ publishedAt: AnalyticsDateTime! """ Artist affinity score """ score: Float! """ Version of affinity recommendation """ version: String! } """ The connection type for NewForYouRecommendation. """ type AnalyticsNewForYouRecommendationConnection { """ A list of edges. """ edges: [AnalyticsNewForYouRecommendationEdge] """ A list of nodes. """ nodes: [AnalyticsNewForYouRecommendation] pageCursors: PageCursors """ Information to aid in pagination. """ pageInfo: AnalyticsPageInfo! totalCount: Int totalPages: Int } """ An edge in a connection. """ type AnalyticsNewForYouRecommendationEdge { """ A cursor for use in pagination. """ cursor: String! """ The item at the end of the edge. """ node: AnalyticsNewForYouRecommendation } """ Information about pagination in a connection. """ type AnalyticsPageInfo { """ When paginating forwards, the cursor to continue. """ endCursor: String """ When paginating forwards, are there more items? """ hasNextPage: Boolean! """ When paginating backwards, are there more items? """ hasPreviousPage: Boolean! """ When paginating backwards, the cursor to continue. """ startCursor: String } """ Stats for pageviews of partner content """ type AnalyticsPageviewStats { artworkViews: Int galleryViews: Int percentageChanged: Int! period: AnalyticsQueryPeriodEnum! showViews: Int timeSeries: [AnalyticsPartnerTimeSeriesStats!]! totalCount: Int! uniqueVisitors: Int } """ Audience stats of a partner """ type AnalyticsPartnerAudienceStats { commercialVisitors: Int! commercialVisitorsPercentageChanged: Int! partnerId: String! period: AnalyticsQueryPeriodEnum! uniqueVisitors: Int! uniqueVisitorsPercentageChanged: Int! } """ Inquiry count time series data of a partner """ type AnalyticsPartnerInquiryCountTimeSeriesStats { count: Int endTime: AnalyticsDateTime startTime: AnalyticsDateTime } """ Inquiry stats of a partner """ type AnalyticsPartnerInquiryStats { inquiryCount: Int! """ Inquiry response time in seconds """ inquiryResponseTime: Int partnerId: String! period: AnalyticsQueryPeriodEnum! """ Partner inquiry count time series """ timeSeries( cumulative: Boolean = false ): [AnalyticsPartnerInquiryCountTimeSeriesStats!] } """ Sales stats of a partner """ type AnalyticsPartnerSalesStats { orderCount: Int! """ Order response time in seconds """ orderResponseTime: Int partnerId: String! period: AnalyticsQueryPeriodEnum! """ Partner sales time series """ timeSeries( cumulative: Boolean = false ): [AnalyticsPartnerSalesTimeSeriesStats!] total( decimal: String = "." format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String totalCents: Int! } """ Sales time series data of a partner """ type AnalyticsPartnerSalesTimeSeriesStats { count: Int endTime: AnalyticsDateTime startTime: AnalyticsDateTime total( decimal: String = "." format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String totalCents: Int! } """ Partner Stats """ type AnalyticsPartnerStats { """ Time series data on number of artworks published """ artworkPublished( period: AnalyticsQueryPeriodEnum! ): AnalyticsPartnerStatsArtworksPublished """ Time series data on number of artworks published """ artworksPublished( period: AnalyticsQueryPeriodEnum! ): AnalyticsArtworksPublishedStats @deprecated( reason: "Use artworkPublished for refactored time series bucket code" ) """ Audience stats """ audience(period: AnalyticsQueryPeriodEnum!): AnalyticsPartnerAudienceStats """ Visitor countries, device, referals and session page """ groupedStats( """ Returns the elements in the list that come after the specified cursor. """ after: String """ Returns the elements in the list that come before the specified cursor. """ before: String """ Returns the first _n_ elements from the list. """ first: Int """ Returns the last _n_ elements from the list. """ last: Int metric: AnalyticsGroupedStatsMetricEnum! objectType: AnalyticsGroupedStatsObjectTypeEnum! period: AnalyticsQueryPeriodEnum! ): AnalyticsGroupedStatsConnection """ Inquiry stats """ inquiry(period: AnalyticsQueryPeriodEnum!): AnalyticsPartnerInquiryStats """ Different types of partner pageviews """ pageview(period: AnalyticsQueryPeriodEnum!): AnalyticsPartnerStatsPageviews """ Different types of partner pageviews """ pageviews(period: AnalyticsQueryPeriodEnum!): AnalyticsPageviewStats @deprecated(reason: "Use pageview for refactored time series bucket code") partnerId: String! """ Artworks, shows, viewing rooms, or artists ranked by views. Capped at 20 by the underlying sql query. """ rankedStats( """ Returns the elements in the list that come after the specified cursor. """ after: String """ Returns the elements in the list that come before the specified cursor. """ before: String """ Returns the first _n_ elements from the list. """ first: Int """ Returns the last _n_ elements from the list. """ last: Int objectType: AnalyticsRankedStatsObjectTypeEnum! period: AnalyticsQueryPeriodEnum! ): AnalyticsRankedStatsConnection """ Sales stats """ sales(period: AnalyticsQueryPeriodEnum!): AnalyticsPartnerSalesStats """ Top artworks ranked by views """ topArtworks( """ Returns the elements in the list that come after the specified cursor. """ after: String """ Returns the elements in the list that come before the specified cursor. """ before: String """ Returns the first _n_ elements from the list. """ first: Int """ Returns the last _n_ elements from the list. """ last: Int ): AnalyticsRankedStatsConnection @deprecated(reason: "Use rankedStats(objectType: ) instead") """ Number of unique visitors """ uniqueVisitors(period: AnalyticsQueryPeriodEnum!): Int @deprecated(reason: "Use audience() { uniqueVisitors } instead") } """ Publish artwork Series Stats """ type AnalyticsPartnerStatsArtworksPublished { partnerId: String! percentageChanged: Int! period: AnalyticsQueryPeriodEnum! """ Partner artworks published count time series """ timeSeries( cumulative: Boolean = false ): [AnalyticsPartnerStatsArtworksPublishedTimeSeries!]! totalCount: Int! } """ Artworks published time series data of a partner """ type AnalyticsPartnerStatsArtworksPublishedTimeSeries { count: Int endTime: AnalyticsDateTime startTime: AnalyticsDateTime } """ Stats for pageviews of partner content """ type AnalyticsPartnerStatsPageviews { artworkViews: Int! galleryViews: Int! partnerId: String! percentageChanged: Int! period: AnalyticsQueryPeriodEnum! showViews: Int! """ Pageviews time series """ timeSeries( cumulative: Boolean = false ): [AnalyticsPartnerStatsPageviewsTimeSeries!] totalCount: Int! uniqueVisitors: Int! } """ Pageviews time series data of a partner """ type AnalyticsPartnerStatsPageviewsTimeSeries { count: Int endTime: AnalyticsDateTime startTime: AnalyticsDateTime } """ Partner Time Series Stats """ type AnalyticsPartnerTimeSeriesStats { count: Int endTime: AnalyticsDateTime startTime: AnalyticsDateTime } """ Price Context Filter Type """ type AnalyticsPriceContextFilterType { category: AnalyticsPricingContextCategoryEnum dimension: AnalyticsPricingContextDimensionEnum } """ Pricing Context Histogram """ type AnalyticsPricingContext { appliedFilters: AnalyticsPriceContextFilterType! appliedFiltersDisplay: String bins: [AnalyticsHistogramBin!]! } enum AnalyticsPricingContextCategoryEnum { """ Architecture """ ARCHITECTURE """ Books and Portfolios """ BOOKS_AND_PORTFOLIOS """ Design/Decorative Art """ DESIGN_DECORATIVE_ART """ Drawing, Collage or other Work on Paper """ DRAWING_COLLAGE_OTHER_WORK_ON_PAPER """ Fashion Design and Wearable Art """ FASHION """ Installation """ INSTALLATION """ Jewelry """ JEWELRY """ Mixed Media """ MIXED_MEDIA """ Other """ OTHER """ Painting """ PAINTING """ Performance Art """ PERFORMANCE """ Photography """ PHOTOGRAPHY """ Posters """ POSTERS """ Print """ PRINT """ Sculpture """ SCULPTURE """ Sound """ SOUND """ Textile Arts """ TEXTILE """ Video/Film/Animation """ VIDEO_FILM_ANIMATION """ Work on Paper """ WORK_ON_PAPER } enum AnalyticsPricingContextDimensionEnum { """ Large """ LARGE """ Medium """ MEDIUM """ Small """ SMALL } enum AnalyticsQueryPeriodEnum { """ Four weeks """ FOUR_WEEKS """ One year """ ONE_YEAR """ Sixteen weeks """ SIXTEEN_WEEKS } union AnalyticsRankedEntityUnion = Artist | Artwork | Show | ViewingRoom """ Top artworks, shows, viewing rooms, or artists from a partner """ type AnalyticsRankedStats { entity: AnalyticsRankedEntityUnion period: AnalyticsQueryPeriodEnum! rankedEntity: AnalyticsRankedStatsUnion! value: Int! } """ The connection type for RankedStats. """ type AnalyticsRankedStatsConnection { """ A list of edges. """ edges: [AnalyticsRankedStatsEdge] """ A list of nodes. """ nodes: [AnalyticsRankedStats] """ Information to aid in pagination. """ pageInfo: AnalyticsPageInfo! } """ An edge in a connection. """ type AnalyticsRankedStatsEdge { """ A cursor for use in pagination. """ cursor: String! """ The item at the end of the edge. """ node: AnalyticsRankedStats } enum AnalyticsRankedStatsObjectTypeEnum { """ Artist """ ARTIST """ Artwork """ ARTWORK """ Show """ SHOW """ ViewingRoom """ VIEWING_ROOM } """ An artwork, artist, show, or viewing room """ union AnalyticsRankedStatsUnion = AnalyticsArtist | AnalyticsArtwork | AnalyticsShow | AnalyticsViewingRoom type AnalyticsShow { entityId: String! } """ Statistics for users """ type AnalyticsUserStats { totalPurchaseCount: Int! userId: String! } type AnalyticsViewingRoom { entityId: String! } type AnalyticsVisitorsByCountry { metric: String! name: String! percent: Float! type: String! value: Int! } type AnalyticsVisitorsByDevice { metric: String! name: String! percent: Float! type: String! value: Int! } type AnalyticsVisitorsByLandingPage { metric: String! name: String! percent: Float! type: String! value: Int! } type AnalyticsVisitorsByReferral { metric: String! name: String! percent: Float! type: String! value: Int! } type AppSecondFactor implements SecondFactor { disabledAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String enabled: Boolean! enabledAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ A type-specific Gravity Mongo Document ID. """ internalID: ID! kind: SecondFactorKind! name: String otpProvisioningURI: String otpSecret: String } input AppSecondFactorAttributes { name: String } union AppSecondFactorOrErrorsUnion = AppSecondFactor | Errors type Article implements Node { """ Maps to the "Primary Author" field in Positron. Ultimately this is only supposed to control the article slug """ author: Author @deprecated(reason: "Use `byline` or `authors` instead") authors: [Author!]! """ The byline for the article. Defaults to "Artsy Editors" if no authors are present. """ byline: String cached: Int channel: Channel channelArticles( """ Number of articles to return """ size: Int = 12 ): [Article!]! channelID: String @deprecated(reason: "Use `channel` instead") contributingAuthors: [Author] @deprecated(reason: "Use `byline` or `authors` instead") description: String hero: ArticleHero href: String """ A globally unique ID. """ id: ID! """ A type-specific ID. """ internalID: ID! keywords: [String!]! layout: ArticleLayout! """ Classic layout articles may have a lead paragraph. Returns HTML. """ leadParagraph: String media: ArticleMedia newsSource: ArticleNewsSource """ Ordered outline of the article derived from h2 headings in text sections """ outline: [ArticleOutlineEntry!]! postscript: String publishedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String relatedArticles( """ Enables configuration for loading the type of articles that sit in between full-page articles """ inVertical: Boolean = false """ Number of articles to return """ size: Int = 3 ): [Article!]! """ Description to favor for meta description """ searchDescription: String """ Title to favor for document titles """ searchTitle: String sections: [ArticleSections!]! series: ArticleSeries seriesArticle: Article slug: String sponsor: ArticleSponsor thumbnailImage: Image thumbnailTeaser: String """ Title to favor for links to article """ thumbnailTitle: String tier: Int title: String updatedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String vertical: String } """ A connection to a list of items. """ type ArticleConnection { """ A list of edges. """ edges: [ArticleEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type ArticleEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: Article } type ArticleFeatureSection { """ Only YouTube and Vimeo are supported """ embed(autoPlay: Boolean = false): String image: Image layout: ArticleFeatureSectionType! media: String title: String } enum ArticleFeatureSectionType { BASIC FULLSCREEN SPLIT TEXT } type ArticleFeaturedArtistNotificationItem { article: Article artistsConnection( after: String before: String first: Int last: Int ): ArtistConnection } union ArticleHero = ArticleFeatureSection | ArticleImageSection type ArticleImageSection { caption: String id: ID! image: Image layout: String } enum ArticleLayout { CLASSIC FEATURE NEWS SERIES STANDARD VIDEO } type ArticleMedia { coverImage: Image credits: String description: String duration: String releaseDate( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String url: String } type ArticleNewsSource { title: String url: String } type ArticleOutlineEntry { heading: String! """ A globally unique ID. """ id: ID! """ A type-specific ID. """ internalID: ID! slug: String! } type ArticleSectionCallout { article: String hideImage: String text: String thumbnailUrl: String topStories: String type: String } type ArticleSectionEmbed { height: Int layout: ArticleSectionEmbedLayout mobileHeight: Int url: String } enum ArticleSectionEmbedLayout { COLUMN_WIDTH FILLWIDTH OVERFLOW OVERFLOW_FILLWIDTH } type ArticleSectionImageCollection { figures: [ArticleSectionImageCollectionFigure!]! layout: ArticleSectionImageCollectionLayout! } union ArticleSectionImageCollectionFigure = ArticleImageSection | ArticleUnpublishedArtwork | Artwork enum ArticleSectionImageCollectionLayout { COLUMN_WIDTH FILLWIDTH OVERFLOW_FILLWIDTH } type ArticleSectionImageSet { counts: ArticleSectionImageSetCounts! cover: ArticleSectionImageSetFigure figures: [ArticleSectionImageSetFigure!]! layout: ArticleSectionImageSetLayout! title: String } type ArticleSectionImageSetCounts { figures: Int! } union ArticleSectionImageSetFigure = ArticleImageSection | Artwork enum ArticleSectionImageSetLayout { FULL MINI } type ArticleSectionSocialEmbed { """ oEmbed HTML response. Only Twitter is currently supported. """ embed: String url: String } type ArticleSectionText { body: String layout: String } type ArticleSectionVideo { backgroundColor: String caption: String """ Only YouTube and Vimeo are supported """ embed(autoPlay: Boolean = false): String image: Image layout: ArticleSectionVideoLayout url: String! } enum ArticleSectionVideoLayout { COLUMN_WIDTH FILLWIDTH OVERFLOW_FILLWIDTH } union ArticleSections = ArticleSectionCallout | ArticleSectionEmbed | ArticleSectionImageCollection | ArticleSectionImageSet | ArticleSectionSocialEmbed | ArticleSectionText | ArticleSectionVideo type ArticleSeries { """ HTML string describing the series """ description: String } enum ArticleSorts { PUBLISHED_AT_ASC PUBLISHED_AT_DESC } type ArticleSponsor { description: String partnerCondensedLogo: String partnerDarkLogo: String partnerLightLogo: String partnerLogoLink: String pixelTrackingCode: String subTitle: String } type ArticleUnpublishedArtwork { artist: ArticleUnpublishedArtworkArtist artists: [ArticleUnpublishedArtworkArtist!]! credit: String date: String """ A globally unique ID. """ id: ID! image: Image """ A type-specific ID likely used as a database ID. """ internalID: ID! partner: ArticleUnpublishedArtworkPartner """ A slug ID. """ slug: ID! title: String } type ArticleUnpublishedArtworkArtist { name: String slug: String } type ArticleUnpublishedArtworkPartner { name: String slug: String } type Artist implements EntityWithFilterArtworksConnectionInterface & Node & Searchable { alternateNames: [String] articlesConnection( after: String before: String first: Int """ Get only articles with 'standard', 'feature', 'series' or 'video' layouts. """ inEditorialFeed: Boolean = false last: Int """ DEPRECATION REASON: Use `size` instead """ limit: Int page: Int size: Int sort: ArticleSorts ): ArticleConnection artistSeriesConnection( after: String before: String first: Int last: Int ): ArtistSeriesConnection artworksConnection( after: String before: String """ List of artwork IDs to exclude from the response. """ exclude: [String] filter: [ArtistArtworksFilters] first: Int last: Int published: Boolean = true sort: ArtworkSorts ): ArtworkConnection auctionResultsConnection( after: String """ List of aggregations for auction results """ aggregations: [AuctionResultsAggregation] """ Allow auction results with empty created date values """ allowEmptyCreatedDates: Boolean = true """ Include auction results with unspecified created dates """ allowUnspecifiedSaleDates: Boolean = true before: String """ Filter auction results by category (medium) """ categories: [String] """ Currency code """ currency: String """ Filter auction results by earliest created at year """ earliestCreatedYear: Int first: Int """ Includes auction results with suitable estimate ranges """ includeEstimateRange: Boolean = false """ Includes auction results without price """ includeUnknownPrices: Boolean = true """ Filter by artwork title or description keyword search """ keyword: String last: Int """ Filter auction results by latest created at year """ latestCreatedYear: Int """ Filter auction results by organizations """ organizations: [String] page: Int """ Filter auction results by price """ priceRange: String """ When true, will only return records for allowed artists. """ recordsTrusted: Boolean = false """ Filter auction results by end sale date year """ saleEndYear: Int """ Filter auction results by start sale end date """ saleStartYear: Int size: Int """ Filter auction results by Artwork sizes """ sizes: [ArtworkSizes] sort: AuctionResultSorts """ State of the returned auction results (can be past, upcoming, or all) """ state: AuctionResultsState = ALL ): AuctionResultConnection awards: String """ In applicable contexts, this is what the artist (as a suggestion) is based on. """ basedOn: Artist """ The biennials the artist has participated in """ biennials: String bio: String """ The Artist biography article written by Artsy """ biography: Article biographyBlurb( format: Format """ DEPRECATED: Artsy bios are always returned over featured bios. """ partnerBio: Boolean = true ): ArtistBlurb birthday: String blurb(format: Format): String cached: Int careerHighlights( """ Filter by collected shows. """ collected: Boolean """ Filter by group shows. """ group: Boolean """ The slug or ID of the Partner """ partnerId: String """ Filter by solo shows. """ solo: Boolean ): [CareerHighlight!]! carousel: ArtistCarousel collections: [String] contemporary( excludeArtistsWithoutArtworks: Boolean = true """ The number of Artists to return """ size: Int ): [Artist] counts: ArtistCounts coverArtwork: Artwork createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String criticallyAcclaimed: Boolean! currentEvent: CurrentEvent deathday: String disablePriceContext: Boolean displayLabel: String displayName: String duplicates: [Artist] """ Custom-sorted list of shows for an artist, in order of significance. """ exhibitionHighlights( """ The number of Shows to return """ size: Int = 5 ): [Show] """ Artworks Elastic Search results """ filterArtworksConnection( acquireable: Boolean additionalGeneIDs: [String] after: String aggregationPartnerCities: [String] aggregations: [ArtworkAggregation] artistID: String artistIDs: [String] artistNationalities: [String] artistSeriesID: String artistSeriesIDs: [String] artsyListing: Boolean """ When provided, will only return artworks with these IDs. """ artworkIDs: [String] atAuction: Boolean attributionClass: [String] availability: String before: String categories: [String] """ Filter by certificate of authenticity. Accepted values: gallery, authenticating_body, no. """ certificateOfAuthenticity: String color: String colors: [String] """ Filter by artwork completeness tiers. Accepts multiple values. """ completenessTier: [String] """ When true, will only return artworks carrying the Curators' Pick collector signal. Cannot be combined with `marketingCollectionID`. """ curatorsPick: Boolean dimensionRange: String """ When true, will skip pushing sold works to the back of the list. Useful in a CMS context. """ disableNotForSaleSorting: Boolean excludeArtworkIDs: [String] extraAggregationGeneIDs: [String] first: Int forSale: Boolean """ When true, will only return framed artworks. """ framed: Boolean geneID: String geneIDs: [String] height: String """ Hybrid only: how many candidates the semantic arm retrieves. Higher = wider semantic net. """ hybridNeuralK: Int """ Hybrid only: results each arm contributes to the blend; must be ≥ from + page size. Caps pagination depth. """ hybridPaginationDepth: Int """ Hybrid only: [lexical, neural] balance when blending scores, e.g. [0.5,0.5] equal, [0.3,0.7] favors semantic. """ hybridWeights: [Float!] importSources: [String] includeAllJSON: Boolean includeArtworksByFollowedArtists: Boolean includeMediumFilterInAggregation: Boolean """ Include artworks not listed on Artsy (artsy_listing: false). """ includeNonArtsyListed: Boolean includeUnpublished: Boolean """ When true, will only return artworks carrying the Increased Interest collector signal. """ increasedInterest: Boolean input: FilterArtworksInput inquireableOnly: Boolean keyword: String """ When true, will only return exact keyword match """ keywordMatchExact: Boolean """ When true and a `keyword` search returns no results, retries once with typo tolerance. Ignored with `keywordMatchExact`. """ keywordTypoTolerance: Boolean last: Int locationCities: [String] locationId: String majorPeriods: [String] """ When true, will only return `marketable` works (not nude or provocative). """ marketable: Boolean marketingCollectionID: String materialsTerms: [String] """ A string from the list of allocations, or * to denote all mediums """ medium: String offerable: Boolean page: Int partnerCities: [String] partnerID: ID partnerIDs: [String] partnerListID: String period: String periods: [String] priceRange: String """ When false, will only return unpublished artworks for authorized users. """ published: Boolean saleID: ID showID: String """ When true, will only return signed artworks. """ signed: Boolean size: Int """ Filter results by Artwork sizes """ sizes: [ArtworkSizes] sold: Boolean sort: String tagID: String """ Search strategy. 'hybrid' blends semantic (meaning-based) results into the keyword search. Requires a keyword; team-only. """ variant: String viewingRoomID: ID visibilityLevel: String width: String ): FilterArtworksConnection first: String """ A string showing the total number of works and those for sale """ formattedArtworksCount: String """ A string of the form "Nationality, Birthday (or Birthday-Deathday)" """ formattedNationalityAndBirthday: String foundations: String gender: String """ A list of genes associated with an artist """ genes( """ Filter by gene family ID or slug. """ geneFamilyID: String """ Minimum gene value (inclusive). """ minValue: Int """ Number of genes to return """ size: Int ): [Gene!]! groupIndicator: ArtistGroupIndicator hasMetadata: Boolean highlights: ArtistHighlights hometown: String href: String """ A globally unique ID. """ id: ID! image: Image imageUrl: String initials(length: Int = 3): String insights( """ The specific insights to return. """ kind: [ArtistInsightKind] = [ HIGH_AUCTION_RECORD ACTIVE_SECONDARY_MARKET CRITICALLY_ACCLAIMED RECENT_CAREER_EVENT ARTSY_VANGUARD_YEAR CURATORS_PICK_EMERGING TRENDING_NOW GAINING_FOLLOWERS SOLO_SHOW GROUP_SHOW BIENNIAL PRIVATE_COLLECTIONS COLLECTED REVIEWED AWARDS RESIDENCIES FOUNDATIONS ] ): [ArtistInsight!]! """ Artist's Instagram handle, without a leading @ """ instagramHandle: String """ Instagram media for display on an artist page. """ instagramMedia( """ The number of media items to return. """ first: Int ): [ArtistInstagramMedia] """ A type-specific ID likely used as a database ID. """ internalID: ID! isConsignable: Boolean """ Only specific Artists should show a link to auction results. """ isDisplayAuctionLink: Boolean isFollowed: Boolean """ Whether the artist has been created by a user. """ isPersonalArtist: Boolean isPublic: Boolean! isShareable: Boolean last: String """ The most recent editorial article featuring this artist, published in the last 12 months. """ latestArticle( publishedSince: String @deprecated(reason: "Filtering is deprecated") ): ArtistLatestArticle location: String marketingCollections( after: String before: String category: String first: Int isFeaturedArtistContent: Boolean last: Int size: Int slugs: [String!] ): [MarketingCollection!]! meta(page: ArtistPage = ABOUT): ArtistMeta! @deprecated( reason: "Use `name` and `biographyBlurb` fields to build meta tags client-side" ) middle: String name: String nationality: String """ A list of notable artworks by the artist, with the cover artwork first. """ notableArtworks( """ The number of notable artworks to return. """ size: Int = 3 ): [Artwork!]! partnerArtists( """ The number of PartnerArtists to return """ size: Int ): [PartnerArtist] """ The Partner's provided biography for the artist """ partnerBiographyBlurb(format: Format): partnerBiographyBlurb @deprecated(reason: "This field is deprecated. No longer in use") partnersConnection( after: String before: String first: Int last: Int partnerCategory: [String] representedBy: Boolean ): PartnerArtistConnection """ The most recent show for an artist """ recentShow: String related: ArtistRelatedData residencies: String """ publications that have reviewed the artist """ reviewSources: String sales( isAuction: Boolean live: Boolean """ The number of Sales to return """ size: Int sort: SaleSorts ): [Sale] showsConnection( active: Boolean after: String atAFair: Boolean before: String first: Int isReference: Boolean last: Int page: Int """ The number of PartnerShows to return """ size: Int soloShow: Boolean sort: ShowSorts status: String topTier: Boolean visibleToPublic: Boolean ): ShowConnection """ A slug ID. """ slug: ID! """ Use this attribute to sort by when sorting a collection of Artists """ sortableID: String statuses: ArtistStatuses targetSupply: ArtistTargetSupply! vanguardYear: String verifiedRepresentatives: [VerifiedRepresentative!]! years: String } enum ArtistAlertsSort { SORTABLE_ID_ASC SORTABLE_ID_DESC } type ArtistArtworkGrid implements ArtworkContextGrid { artworksConnection( after: String before: String first: Int last: Int ): ArtworkConnection ctaHref: String ctaTitle: String title: String } enum ArtistArtworksFilters { IS_FOR_SALE IS_NOT_FOR_SALE } type ArtistBlurb { credit: String partner: Partner """ The partner id of the partner who submitted the featured bio. """ partnerID: String @deprecated( reason: "No longer used as the partner field contains the partner.id" ) text: String } type ArtistCarousel { images: [Image] } """ A connection to a list of items. """ type ArtistConnection { """ A list of edges. """ edges: [ArtistEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } type ArtistCounts { articles: Int artworks( """ Returns a `String` when format is specified. e.g.`'0,0.0000''` """ format: String label: String ): FormattedNumber auctionArtworks( """ Returns a `String` when format is specified. e.g.`'0,0.0000''` """ format: String label: String ): FormattedNumber auctionResults: Int @deprecated(reason: "Favor `statuses#auctionLots`") duplicates: Int ecommerceArtworks( """ Returns a `String` when format is specified. e.g.`'0,0.0000''` """ format: String label: String ): FormattedNumber follows( """ Returns a `String` when format is specified. e.g.`'0,0.0000''` """ format: String label: String ): FormattedNumber forSaleArtworks( """ Returns a `String` when format is specified. e.g.`'0,0.0000''` """ format: String label: String ): FormattedNumber hasMakeOfferArtworks: Boolean myCollectedArtworks: Int! partnerShows( """ Returns a `String` when format is specified. e.g.`'0,0.0000''` """ format: String label: String ): FormattedNumber relatedArtists: Int } """ An edge in a connection. """ type ArtistEdge { """ When a relevant `artworksCount` field exists to augment a connection """ artworksCount: Int """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: Artist } type ArtistGroup { """ Artists sorted by last name """ items: [Artist] """ Letter artists group belongs to """ letter: String } enum ArtistGroupIndicator { DUO GROUP INDIVIDUAL N_A } type ArtistHighlights { partnersConnection( after: String before: String displayOnPartnerProfile: Boolean first: Int last: Int partnerCategory: [String] representedBy: Boolean ): PartnerArtistConnection } type ArtistInsight { artist: Artist """ Number of entities relevant to the insight. """ count: Int! description(format: Format = PLAIN): String """ List of entities relevant to the insight. """ entities: [String!]! """ The type of insight. """ kind: ArtistInsightKind """ Label to use when displaying the insight. """ label: String! """ The type of insight. """ type: String! @deprecated(reason: "Use `kind` instead.") } enum ArtistInsightKind { ACTIVE_SECONDARY_MARKET ARTSY_VANGUARD_YEAR AWARDS BIENNIAL COLLECTED CRITICALLY_ACCLAIMED CURATORS_PICK_EMERGING FOUNDATIONS GAINING_FOLLOWERS GROUP_SHOW HIGH_AUCTION_RECORD PRIVATE_COLLECTIONS RECENT_CAREER_EVENT RESIDENCIES REVIEWED SOLO_SHOW TRENDING_NOW } type ArtistInsightsCount { activeSecondaryMarketCount: Int! biennialCount: Int! collectedCount: Int! groupShowCount: Int! reviewedCount: Int! soloShowCount: Int! } type ArtistInstagramMedia { caption: String image: Image internalID: String permalink: String } type ArtistLatestArticle { href: String id: String @deprecated(reason: "Use href instead") } type ArtistMeta { description: String! title: String! } enum ArtistPage { ABOUT ARTIST_SERIES ARTWORKS AUCTION_RESULTS } """ A connection to a list of items. """ type ArtistPartnerConnection { """ A list of edges. """ edges: [ArtistPartnerEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type ArtistPartnerEdge { artist: Artist artworksConnection( after: String before: String first: Int last: Int sort: PartnerArtistArtworksSort ): ArtworkConnection biography: String biographyBlurb(format: Format): PartnerArtistBlurb counts: PartnerArtistCounts """ A cursor for use in pagination """ cursor: String! """ Retrieve all documents for this partner artist """ documentsConnection( after: String before: String first: Int last: Int ): PartnerDocumentConnection """ Artworks Elastic Search results """ filterArtworksConnection( acquireable: Boolean additionalGeneIDs: [String] after: String aggregationPartnerCities: [String] aggregations: [ArtworkAggregation] artistID: String artistIDs: [String] artistNationalities: [String] artistSeriesID: String artistSeriesIDs: [String] artsyListing: Boolean """ When provided, will only return artworks with these IDs. """ artworkIDs: [String] atAuction: Boolean attributionClass: [String] availability: String before: String categories: [String] """ Filter by certificate of authenticity. Accepted values: gallery, authenticating_body, no. """ certificateOfAuthenticity: String color: String colors: [String] """ Filter by artwork completeness tiers. Accepts multiple values. """ completenessTier: [String] """ When true, will only return artworks carrying the Curators' Pick collector signal. Cannot be combined with `marketingCollectionID`. """ curatorsPick: Boolean dimensionRange: String """ When true, will skip pushing sold works to the back of the list. Useful in a CMS context. """ disableNotForSaleSorting: Boolean excludeArtworkIDs: [String] extraAggregationGeneIDs: [String] first: Int forSale: Boolean """ When true, will only return framed artworks. """ framed: Boolean geneID: String geneIDs: [String] height: String """ Hybrid only: how many candidates the semantic arm retrieves. Higher = wider semantic net. """ hybridNeuralK: Int """ Hybrid only: results each arm contributes to the blend; must be ≥ from + page size. Caps pagination depth. """ hybridPaginationDepth: Int """ Hybrid only: [lexical, neural] balance when blending scores, e.g. [0.5,0.5] equal, [0.3,0.7] favors semantic. """ hybridWeights: [Float!] importSources: [String] includeAllJSON: Boolean includeArtworksByFollowedArtists: Boolean includeMediumFilterInAggregation: Boolean """ Include artworks not listed on Artsy (artsy_listing: false). """ includeNonArtsyListed: Boolean includeUnpublished: Boolean """ When true, will only return artworks carrying the Increased Interest collector signal. """ increasedInterest: Boolean input: FilterArtworksInput inquireableOnly: Boolean keyword: String """ When true, will only return exact keyword match """ keywordMatchExact: Boolean """ When true and a `keyword` search returns no results, retries once with typo tolerance. Ignored with `keywordMatchExact`. """ keywordTypoTolerance: Boolean last: Int locationCities: [String] locationId: String majorPeriods: [String] """ When true, will only return `marketable` works (not nude or provocative). """ marketable: Boolean marketingCollectionID: String materialsTerms: [String] """ A string from the list of allocations, or * to denote all mediums """ medium: String offerable: Boolean page: Int partnerCities: [String] partnerID: ID partnerIDs: [String] partnerListID: String period: String periods: [String] priceRange: String """ When false, will only return unpublished artworks for authorized users. """ published: Boolean saleID: ID showID: String """ When true, will only return signed artworks. """ signed: Boolean size: Int """ Filter results by Artwork sizes """ sizes: [ArtworkSizes] sold: Boolean sort: String tagID: String """ Search strategy. 'hybrid' blends semantic (meaning-based) results into the keyword search. Requires a keyword; team-only. """ variant: String viewingRoomID: ID visibilityLevel: String width: String ): FilterArtworksConnection """ A globally unique ID. """ id: ID! image: Image imageUrl: String """ A type-specific ID. """ internalID: ID! isDisplayOnPartnerProfile: Boolean isHiddenInPresentationMode: Boolean isUseDefaultBiography: Boolean """ The item at the end of the edge """ node: Artist partner: Partner representedBy: Boolean """ A list of shows for this artist """ showsConnection( after: String before: String first: Int last: Int ): ShowConnection sortableID: String } enum ArtistRecommendationSource { """ Hybrid machine learning-based recommendations from Vortex. """ HYBRID """ Based on UserSuggestedSimilarArtistsIndex in Gravity to find artists similar to the user's followed artists. """ SIMILAR_TO_FOLLOWED } type ArtistRelatedData { artistsConnection( after: String before: String excludeArtistsWithoutArtworks: Boolean = true first: Int kind: RelatedArtistsKind last: Int minForsaleArtworks: Int ): ArtistConnection genes(after: String, before: String, first: Int, last: Int): GeneConnection """ A list of the current user’s suggested artists, based on a single artist """ suggestedConnection( after: String before: String """ Exclude these ids from results, may result in all artists being excluded. """ excludeArtistIDs: [String] """ Exclude artists without any artworks """ excludeArtistsWithoutArtworks: Boolean """ Exclude artists without for sale works """ excludeArtistsWithoutForsaleArtworks: Boolean """ Exclude artists the user already follows """ excludeFollowedArtists: Boolean first: Int """ Include featured artists if no results are found """ includeFallbackArtists: Boolean last: Int ): ArtistConnection } type ArtistSeries implements Node { artistIDs: [String!]! artists(page: Int, size: Int): [Artist!]! artworksCount: Int! artworksCountMessage: String description: String descriptionFormatted(format: Format): String featured: Boolean! """ Artworks Elastic Search results """ filterArtworksConnection( acquireable: Boolean additionalGeneIDs: [String] after: String aggregationPartnerCities: [String] aggregations: [ArtworkAggregation] artistID: String artistIDs: [String] artistNationalities: [String] artistSeriesID: String artistSeriesIDs: [String] artsyListing: Boolean """ When provided, will only return artworks with these IDs. """ artworkIDs: [String] atAuction: Boolean attributionClass: [String] availability: String before: String categories: [String] """ Filter by certificate of authenticity. Accepted values: gallery, authenticating_body, no. """ certificateOfAuthenticity: String color: String colors: [String] """ Filter by artwork completeness tiers. Accepts multiple values. """ completenessTier: [String] """ When true, will only return artworks carrying the Curators' Pick collector signal. Cannot be combined with `marketingCollectionID`. """ curatorsPick: Boolean dimensionRange: String """ When true, will skip pushing sold works to the back of the list. Useful in a CMS context. """ disableNotForSaleSorting: Boolean excludeArtworkIDs: [String] extraAggregationGeneIDs: [String] first: Int forSale: Boolean """ When true, will only return framed artworks. """ framed: Boolean geneID: String geneIDs: [String] height: String """ Hybrid only: how many candidates the semantic arm retrieves. Higher = wider semantic net. """ hybridNeuralK: Int """ Hybrid only: results each arm contributes to the blend; must be ≥ from + page size. Caps pagination depth. """ hybridPaginationDepth: Int """ Hybrid only: [lexical, neural] balance when blending scores, e.g. [0.5,0.5] equal, [0.3,0.7] favors semantic. """ hybridWeights: [Float!] importSources: [String] includeAllJSON: Boolean includeArtworksByFollowedArtists: Boolean includeMediumFilterInAggregation: Boolean """ Include artworks not listed on Artsy (artsy_listing: false). """ includeNonArtsyListed: Boolean includeUnpublished: Boolean """ When true, will only return artworks carrying the Increased Interest collector signal. """ increasedInterest: Boolean input: FilterArtworksInput inquireableOnly: Boolean keyword: String """ When true, will only return exact keyword match """ keywordMatchExact: Boolean """ When true and a `keyword` search returns no results, retries once with typo tolerance. Ignored with `keywordMatchExact`. """ keywordTypoTolerance: Boolean last: Int locationCities: [String] locationId: String majorPeriods: [String] """ When true, will only return `marketable` works (not nude or provocative). """ marketable: Boolean marketingCollectionID: String materialsTerms: [String] """ A string from the list of allocations, or * to denote all mediums """ medium: String offerable: Boolean page: Int partnerCities: [String] partnerID: ID partnerIDs: [String] partnerListID: String period: String periods: [String] priceRange: String """ When false, will only return unpublished artworks for authorized users. """ published: Boolean saleID: ID showID: String """ When true, will only return signed artworks. """ signed: Boolean size: Int """ Filter results by Artwork sizes """ sizes: [ArtworkSizes] sold: Boolean sort: String tagID: String """ Search strategy. 'hybrid' blends semantic (meaning-based) results into the keyword search. Requires a keyword; team-only. """ variant: String viewingRoomID: ID visibilityLevel: String width: String ): FilterArtworksConnection forSaleArtworksCount: Int! """ A globally unique ID. """ id: ID! image: Image """ A type-specific Gravity Mongo Document ID. """ internalID: ID! published: Boolean! representativeArtworkID: ID slug: String! title: String! } """ A connection to a list of items. """ type ArtistSeriesConnection { """ A list of edges. """ edges: [ArtistSeriesEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int! } """ An edge in a connection. """ type ArtistSeriesEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: ArtistSeries } enum ArtistSorts { CREATED_AT_ASC CREATED_AT_DESC SORTABLE_ID_ASC SORTABLE_ID_DESC TRENDING_DESC } type ArtistStatuses { articles: Boolean artists: Boolean artworks: Boolean auctionLots: Boolean biography: Boolean contemporary: Boolean cv( """ Suppress the cv tab when artist show count is less than this. """ minShowCount: Int = 15 ): Boolean shows: Boolean } type ArtistTargetSupply { """ True if an artist is in the microfunnel list. """ isInMicrofunnel: Boolean """ True if an artist is a P1 artist. """ isP1: Boolean @deprecated(reason: "Use \"priority\" field instead.") """ True if artist is in target supply list. """ isTargetSupply: Boolean microfunnel: ArtistTargetSupplyMicrofunnel priority: ArtistTargetSupplyPriority type: ArtistTargetSupplyType } type ArtistTargetSupplyMicrofunnel { """ A list of recently sold artworks. """ artworksConnection( after: String before: String first: Int last: Int """ Randomize the order of artworks for display purposes. """ randomize: Boolean ): ArtworkConnection metadata: TargetSupplyMicrofunnelMetadata } enum ArtistTargetSupplyPriority { FALSE TRUE } enum ArtistTargetSupplyType { AUCTION_MARKET CURATED_EMERGING HIGHEST_HQDLS HIGH_HQDLS } """ A connection to a list of items. """ type ArtistsWithAlertCountsConnection { """ A list of edges. """ edges: [ArtistsWithAlertCountsEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type ArtistsWithAlertCountsEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: Artist totalAlertCount: Int } """ Artnet record of an artwork. """ type ArtnetArtwork { artnetEditionSets: [ArtnetEditionSet] artnetId: String """ Artnet availability vocabulary, e.g. For Sale or Price on Request. """ availability: String createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! """ Medium names + materials for this artwork, e.g. Paintings, Oil. """ mediums: [String] priceCurrency: String priceFrom: Money priceTo: Money """ Whether the artwork is published on Artnet. """ published: Boolean updatedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String } """ An Artnet edition set. """ type ArtnetEditionSet { artnetId: String """ Artnet availability vocabulary, e.g. For Sale or Price on Request. """ availability: String """ The corresponding CatalogEditionSet, if this edition set has been matched to one. """ catalogEditionSetId: String createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! label: String priceCurrency: String priceFrom: Money priceTo: Money updatedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String } type ArtnetImport { completedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String createdCount: Int deletedCount: Int errorCount: Int errorMessage: String """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! skippedCount: Int state: ArtnetImportState totalCount: Int unmatchedArtistNames: [String!]! } enum ArtnetImportState { COMPLETED FAILED PENDING PROCESSING } type ArtsyShippingOptInMutationFailure { mutationError: GravityMutationError } input ArtsyShippingOptInMutationInput { """ Whether Artsy domestic shipping should be enabled """ artsyShippingDomestic: Boolean """ Whether Artsy international shipping should be enabled """ artsyShippingInternational: Boolean clientMutationId: String """ ID of the partner """ id: String! """ Source of the mutation being triggered, E.g. admin, artworks_list """ source: BulkUpdateSourceEnum } type ArtsyShippingOptInMutationPayload { ArtsyShippingOptInOrError: ArtsyShippingOptInMutationType clientMutationId: String } type ArtsyShippingOptInMutationSuccess { skippedPartnerArtworks: ArtsyShippingOptInResponse updatedPartnerArtworks: ArtsyShippingOptInResponse } union ArtsyShippingOptInMutationType = ArtsyShippingOptInMutationFailure | ArtsyShippingOptInMutationSuccess type ArtsyShippingOptInResponse { count: Int ids: [String] } type Artwork implements Node & Searchable & Sellable { additionalInformation(format: Format): String artaShippingEnabled: Boolean @deprecated( reason: "Prefer to use `processWithArtsyShippingDomestic`. [Will be removed in v2]" ) articles(size: Int): [Article] artist( """ Use whatever is in the original response instead of making a request """ shallow: Boolean ): Artist artistNames: String artistSeriesConnection( after: String before: String first: Int last: Int ): ArtistSeriesConnection artists( private: Boolean = true """ Use whatever is in the original response instead of making a request """ shallow: Boolean ): [Artist] """ Whether the artwork is listed on Artsy """ artsyListing: Boolean artsyShippingDomestic: Boolean artsyShippingInternational: Boolean """ Represents the location of the artwork for "My Collection" artworks """ artworkLocation: String @deprecated(reason: "Please use `collectorLocation` instead") """ Represents the "**classification**" of an artwork, such as _limited edition_ """ attributionClass: AttributionClass availability: String cached: Int """ Can a user request a lot conditions report for this artwork? """ canRequestLotConditionsReport: Boolean canShareImage: Boolean """ This field is intended for use exclusively on the individual Artwork page for alt tags """ caption: String catalogArtwork: CatalogArtwork """ Represents the "**medium type**", such as _Painting_. (This field is also commonly referred to as just "medium", but should not be confused with the artwork attribute called `medium`.) """ category: String @deprecated(reason: "Prefer to use `mediumType`.") """ Returns the display label and detail when artwork has a certificate of authenticity """ certificateOfAuthenticity: ArtworkInfoRow certificateOfAuthenticityDetails: CertificateOfAuthenticityDetails collectingInstitution: String collectionsConnection( after: String before: String default: Boolean first: Int last: Int page: Int saves: Boolean size: Int sort: CollectionSorts ): CollectionsConnection """ The location of the artwork in My Collection """ collectorLocation: MyLocation """ A connection of orders for this artwork from the collector's perspective. """ collectorOrdersConnection( after: String before: String first: Int last: Int page: Int size: Int ): MeOrdersConnection """ Collector signals on artwork """ collectorSignals: CollectorSignals """ Comparable auction results """ comparableAuctionResults( after: String before: String first: Int last: Int ): AuctionResultConnection """ A checklist of items indicating how to improve the completeness score (ranked by importance) """ completenessChecklist: [ArtworkCompletenessChecklistItem] """ A number representing the listing score of the artwork """ completenessScore: Int """ The tier classification of the completeness score (Incomplete, Good, or Excellent) """ completenessTier: ArtworkCompletenessTier condition: ArtworkCondition conditionDescription: ArtworkInfoRow """ Notes by a partner or MyCollection user on the artwork, can only be accessed by partner or the user that owns the artwork """ confidentialNotes: String consignmentSubmission: ArtworkConsignmentSubmission @deprecated( reason: "This field is deprecated as collector artwork submissions are no longer accepted." ) contactLabel: String """ Pre-filled inquiry text """ contactMessage: String """ Returns the associated Fair/Sale/Show """ context: ArtworkContext contextGrids( """ Whether to include the `RelatedArtworksGrid` module. Defaults to `true`; preferred behavior is to opt out with `false`. """ includeRelatedArtworks: Boolean! = true ): [ArtworkContextGrid] """ The currency code used to pay for the artwork """ costCurrencyCode: String """ The amount paid for the artwork, in cents """ costMinor: Int culturalMaker: String date: String """ The depth as expressed by the original input metric """ depth: String depthCm: Float description(format: Format): String diameter: String diameterCm: Float dimensions: dimensions displayArtistBio: Boolean displayLabel: String displayPriceRange: Boolean """ Domestic shipping fee. """ domesticShippingFee: Money dominantColors: [String!]! downloadableImageUrl: String editionNumber: String editionOf: String editionSet(id: String!): EditionSet editionSets(sort: EditionSetSorts): [EditionSet] editionSize: String """ Returns an HTML string representing the embedded content (video) """ embed(autoplay: Boolean = false, height: Int = 450, width: Int = 853): String """ Flags if artwork located in one of EU local shipping countries. """ euShippingOrigin: Boolean exhibitionHistory(format: Format): String """ External provider identity. """ externalID: String fair: Fair """ Featured slot (if set, will boost the work to the top of the artwork grid. Should be set between 1 and 20). """ featuredSlot: Int """ A list of images and videos for the artwork """ figures( """ Include all images, even if they are not ready or processing failed. """ includeAll: Boolean ): [ArtworkFigures!]! """ Formatted artwork metadata, including artist, title, date and partner; e.g., 'Andy Warhol, Truck, 1980, Westward Gallery'. """ formattedMetadata: String framed: ArtworkInfoRow @deprecated(reason: "Consider using isFramed field (boolean) instead") framedDepth: String framedDiameter: String framedDimensions: dimensions framedHeight: String """ The unit of measurement for the framed dimensions """ framedMetric: String framedWidth: String """ Returns true when artwork has a certificate of authenticity """ hasCertificateOfAuthenticity: Boolean hasMarketPriceInsights: Boolean """ Whether a request for price estimate has been submitted for this artwork """ hasPriceEstimateRequest: Boolean @deprecated( reason: "This field is deprecated as collector artwork submissions are no longer accepted." ) hasTitle: Boolean! """ The height as expressed by the original input metric """ height: String """ If you need to render artwork dimensions as a string, prefer the `Artwork#dimensions` field """ heightCm: Float """ Returns the highlighted shows and articles """ highlights: [ArtworkHighlight] href: String """ A globally unique ID. """ id: ID! image( """ Show all images, even if they are not ready or processing failed. """ includeAll: Boolean size: Int ): Image imageRights: String imageTitle: String imageUrl: String images( """ Show all images, even if they are not ready or processing failed. """ includeAll: Boolean size: Int ): [Image] """ Represents the import source of the artwork """ importSource: ArtworkImportSource """ Structured questions a collector can inquire on about this work """ inquiryQuestions: [InquiryQuestion] """ Price for internal partner display, requires partner access """ internalDisplayPrice: String """ A type-specific ID likely used as a database ID. """ internalID: ID! """ International shipping fee. """ internationalShippingFee: Money """ Private text field for partner use """ inventoryId: String """ Whether a work can be purchased through Buy Now """ isAcquireable: Boolean """ Is this artwork part of an auction that is currently running? """ isBiddable: Boolean """ When in an auction, can the work be bought immediately """ isBuyNowable: Boolean isComparableWithAuctionResults: Boolean isDisliked: Boolean! isDownloadable: Boolean isEdition: Boolean """ Artwork is eligible for the Artsy Guarantee """ isEligibleForArtsyGuarantee: Boolean! """ Artwork is eligible for on-platform transaction """ isEligibleForOnPlatformTransaction: Boolean! """ Artwork meets minimum metadata criteria to have an alert created from it """ isEligibleToCreateAlert: Boolean! isEmbeddableVideo: Boolean """ Is this work has shipping fee set to fixed amount? """ isFixedShippingFeeOnly: Boolean isForSale: Boolean isFramed: Boolean isHangable: Boolean """ Is this artwork part of an auction? """ isInAuction: Boolean """ Is this artwork part of a current show """ isInShow: Boolean """ Do we want to encourage inquiries on this work? """ isInquireable: Boolean isListed: Boolean! @deprecated( reason: "This field is deprecated as collector artwork submissions are no longer accepted." ) isNotForSale: String """ Whether a user can make an offer on a work """ isOfferable: Boolean """ Whether a user can make an offer on the work through inquiry """ isOfferableFromInquiry: Boolean isOnHold: String """ Whether a partner can send an offer for this work """ isPartnerOfferable: Boolean! isPartnerPromoted: Boolean """ Whether a work is available for pickup """ isPickupAvailable: Boolean isPriceEstimateRequestable: Boolean @deprecated( reason: "This field is deprecated as collector artwork submissions are no longer accepted." ) isPriceHidden: Boolean isPriceRange: Boolean """ Whether a work can be purchased """ isPurchasable: Boolean isSaved: Boolean """ Checks if artwork is saved to any of the user's 'saves' lists """ isSavedToAnyList: Boolean! """ Checks if artwork is saved to user's lists """ isSavedToList(default: Boolean = false, saves: Boolean = true): Boolean! """ Should the video be used as the cover image """ isSetVideoAsCover: Boolean isShareable: Boolean isSold: Boolean isUnique: Boolean """ Artwork is marked as "unlisted" (or private) by the partner """ isUnlisted: Boolean! lastOfferableActivityAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String lastSavedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String layer(id: String): ArtworkLayer layers: [ArtworkLayer] listPrice: ListPrice listedArtworksConnection( after: String before: String first: Int last: Int ): ArtworkConnection! @deprecated( reason: "This field is deprecated as collector artwork submissions are no longer accepted." ) """ In CMS, has the artwork been marked as BNMO? """ listingOptions: ArtworkListingOptions literature(format: Format): String """ Represents partner's location (authorized users only) """ location: Location manufacturer(format: Format): String marketPriceInsights: ArtworkPriceInsights """ Represents the **materials** used in this work, such as _oil and acrylic on canvas_. (This should not be confused with the artwork attribute called `category`, which is commonly referred to as "medium" or "medium type") """ medium: String """ Represents the "**medium type**", such as _Painting_. (This field is also commonly referred to as just "medium", but should not be confused with the artwork attribute called `medium`.) """ mediumType: ArtworkMedium meta: ArtworkMeta """ The unit of length of the artwork, expressed in `in` or `cm` """ metric: String myLotStanding(live: Boolean = null): [LotStanding!] """ Count of collectors with eligible offerable activities. """ offerableActivity: OfferableActivity """ Is this work only available for shipping domestically? """ onlyShipsDomestically: Boolean partner( """ Use whatever is in the original response instead of making a request """ shallow: Boolean = true ): Partner """ Artwork genome data from the partner, containing category scores """ partnerGenome: PartnerGenome partnerOffersConnection( after: String before: String first: Int last: Int """ Filter by offer type(s). Gravity defaults to bulk offers when omitted. """ offerType: [PartnerOfferTypeEnum] page: Int size: Int sort: PartnerOfferSorts """ Only return offers targeting this user (e.g. a personalized offer from a conversation). """ userID: String ): PartnerOfferConnection """ A connection of orders for this artwork from the partner's perspective. """ partnerOrdersConnection( after: String before: String first: Int last: Int page: Int """ Partner ID to fetch orders for """ partnerID: String! size: Int ): PartnerOrdersConnection pickupAvailable: Boolean price: String priceCurrency: String priceDisplay: String priceIncludesTax: Boolean priceIncludesTaxDisplay: String priceListed: Money priceListedDisplay: String priceMax: Money priceMin: Money """ The price paid for the artwork in a user's 'my collection' """ pricePaid: Money pricingContext: AnalyticsPricingContext """ Private shortcut URL path for accessing the artwork """ privateShortcutPath: String """ Returns true if this work is eligible to be automatically opted into Artsy Domestic Shipping """ processWithArtsyShippingDomestic: Boolean provenance(format: Format): String """ Represents partner's public-facing location (a subset of the full location) """ publicLocation: Location """ Whether this artwork is published or not """ published: Boolean! publisher(format: Format): String """ Price which an artwork was sold for. This generally only applies to artworks in the target supply microfunnel and (currently) queries against hardcoded spreadsheet data. """ realizedPrice: String realizedToEstimate: String """ Count of abandoned orders, in the last 30 days. """ recentAbandonedOrdersCount: Int """ Count of collected artworks, in saves collections, in the last 30 days """ recentSavesCount: Int related(size: Int): [Artwork] sale: Sale saleArtwork(saleID: String = null): SaleArtwork saleMessage: String """ Schema related to saved searches based on this artwork """ savedSearch: ArtworkSavedSearch series(format: Format): String """ The country an artwork will be shipped from. """ shippingCountry: String """ The string that describes domestic and international shipping. """ shippingInfo: String """ Minimal location information describing from where artwork will be shipped. """ shippingOrigin: String """ Display name of the shipping origin country or region (e.g., 'United Kingdom', 'European Union'). Returns empty string if shipping origin is not set. """ shippingOriginRegion: String shippingWeight: Float """ The unit of measurement for the shipping weight """ shippingWeightMetric: String """ Is this work available for shipping only within the Continental US? """ shipsToContinentalUSOnly: Boolean @deprecated( reason: "Prefer to use `onlyShipsDomestically`. [Will be removed in v2]" ) show(active: Boolean, atAFair: Boolean, sort: ShowSorts): Show shows(active: Boolean, atAFair: Boolean, size: Int, sort: ShowSorts): [Show] signature(format: Format): String signatureDetails: String signatureInfo: ArtworkInfoRow signatureMeta: ArtworkSignatureMeta """ size bucket assigned to an artwork based on its dimensions """ sizeBucket: String """ score assigned to an artwork based on its dimensions """ sizeScore: Float """ A slug ID. """ slug: ID! submissionId: String @deprecated( reason: "This field is deprecated as collector artwork submissions are no longer accepted." ) taxInfo: TaxInfo title: String """ Based on artwork location and status, verify that partner needs VAT exemption approval from Artsy. """ vatExemptApprovalRequired: Boolean """ Based on artwork location verify that VAT info for the partner is complete. """ vatRequirementComplete: Boolean """ The visibility level of the artwork """ visibilityLevel: Visibility """ If the category is video, then it returns the href for the (youtube/vimeo) video, otherwise returns the website from CMS """ website: String """ The width as expressed by the original input metric """ width: String """ If you need to render artwork dimensions as a string, prefer the `Artwork#dimensions` field """ widthCm: Float } enum ArtworkAggregation { ARTIST ARTIST_NATIONALITY ARTIST_SERIES ATTRIBUTION_CLASS COLOR DIMENSION_RANGE FOLLOWED_ARTISTS GALLERY IMPORT_SOURCE INSTITUTION LOCATION_CITY MAJOR_PERIOD MATERIALS_TERMS MEDIUM MERCHANDISABLE_ARTISTS PARTNER PARTNER_CITY PERIOD PRICE_RANGE SIMPLE_PRICE_HISTOGRAM TOTAL } enum ArtworkAttributionClassType { LIMITED_EDITION OPEN_EDITION UNIQUE UNKNOWN_EDITION } type ArtworkCompletenessChecklistItem { """ Whether this checklist item is completed """ completed: Boolean! """ The key/identifier of the validation """ key: ArtworkCompletenessChecklistItemKey! } enum ArtworkCompletenessChecklistItemKey { CERTIFICATE DESCRIPTION HIGH_RES_IMAGE MULTIPLE_IMAGES PRICE_VISIBILITY PUBLISHABLE SIGNATURE } enum ArtworkCompletenessTier { EXCELLENT GOOD INCOMPLETE } type ArtworkCondition { description: String displayText: String value: String } enum ArtworkConditionEnumType { EXCELLENT FAIR GOOD VERY_GOOD } """ A connection to a list of items. """ type ArtworkConnection implements ArtworkConnectionInterface { """ A list of edges. """ edges: [ArtworkEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } interface ArtworkConnectionInterface { edges: [ArtworkEdgeInterface] pageCursors: PageCursors! pageInfo: PageInfo! } type ArtworkConsignmentSubmission { """ Action label asks the user to poseed with the submission. """ actionLabel: String """ Button label visible to the user. """ buttonLabel: String displayText: String @deprecated(reason: "Prefer `stateLabel` field.") externalID: String inProgress: Boolean internalID: String """ Whether the user is allowed to edit the associated My Collection artwork. """ isEditable: Boolean isSold: Boolean """ Submission state. """ state: ArtworkConsignmentSubmissionState! """ More information about the submission state. """ stateHelpMessage: String """ Submission state label visible to the user. """ stateLabel: String stateLabelColor: String } """ A connection to a list of items. """ type ArtworkConsignmentSubmissionConnection { """ A list of edges. """ edges: [ArtworkConsignmentSubmissionEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type ArtworkConsignmentSubmissionEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: ArtworkConsignmentSubmission } enum ArtworkConsignmentSubmissionState { APPROVED CLOSED DRAFT HOLD PUBLISHED REJECTED RESUBMITTED SUBMITTED } union ArtworkContext = Fair | Sale | Show """ A specific grid. """ interface ArtworkContextGrid { artworksConnection( after: String before: String first: Int last: Int ): ArtworkConnection ctaHref: String ctaTitle: String title: String } """ The surface an artwork was created from. """ enum ArtworkCreatedSurface { CMS OS } input ArtworkDuplicateMergeFieldOverridesInput { availability: String date: String depth: String diameter: String height: String medium: String metric: String priceCurrency: String priceMinor: Int privateNotes: String title: String width: String } type ArtworkDuplicatePair { artwork1: Artwork artwork2: Artwork createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String! detectionVersion: String! dismissedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ A globally unique ID. """ id: ID! """ A type-specific ID. """ internalID: ID! """ Metadata from the duplicate detection process, just typed as JSON (for debugging) """ matchMetadata: JSON """ Details about the merge operation, just typed as JSON (for debugging) """ mergeDetails: JSON mergeable: Boolean! mergedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String mergedIntoArtwork: Artwork similarityScore: Float status: ArtworkDuplicatePairStatus! updatedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String! } """ A connection to a list of items. """ type ArtworkDuplicatePairConnection { """ A list of edges. """ edges: [ArtworkDuplicatePairEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type ArtworkDuplicatePairEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: ArtworkDuplicatePair } enum ArtworkDuplicatePairStatus { DISMISSED MERGED OPEN } """ An edge in a connection. """ type ArtworkEdge implements ArtworkEdgeInterface { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: Artwork } interface ArtworkEdgeInterface { cursor: String node: Artwork } """ An error type, potentially containing a partial artwork response """ type ArtworkError { artwork: PartialArtwork requestError: RequestError } type ArtworkFieldVisibility { artistName: Boolean artworkTitle: Boolean availability: Boolean certificateOfAuthenticity: Boolean dimensions: Boolean editionAvailability: Boolean editionInventoryCount: Boolean editionPrice: Boolean editionSize: Boolean location: Boolean medium: Boolean price: Boolean year: Boolean } input ArtworkFieldVisibilityInput { artistName: Boolean artworkTitle: Boolean availability: Boolean certificateOfAuthenticity: Boolean dimensions: Boolean editionAvailability: Boolean editionInventoryCount: Boolean editionPrice: Boolean editionSize: Boolean location: Boolean medium: Boolean price: Boolean year: Boolean } union ArtworkFigures = Image | Video union ArtworkFilterFacet = Gene | Tag type ArtworkFilterNode { """ Artworks Elastic Search results """ artworksConnection( acquireable: Boolean additionalGeneIDs: [String] after: String aggregationPartnerCities: [String] aggregations: [ArtworkAggregation] artistID: String artistIDs: [String] artistNationalities: [String] artistSeriesID: String artistSeriesIDs: [String] artsyListing: Boolean """ When provided, will only return artworks with these IDs. """ artworkIDs: [String] atAuction: Boolean attributionClass: [String] availability: String before: String categories: [String] """ Filter by certificate of authenticity. Accepted values: gallery, authenticating_body, no. """ certificateOfAuthenticity: String color: String colors: [String] """ Filter by artwork completeness tiers. Accepts multiple values. """ completenessTier: [String] """ When true, will only return artworks carrying the Curators' Pick collector signal. Cannot be combined with `marketingCollectionID`. """ curatorsPick: Boolean dimensionRange: String """ When true, will skip pushing sold works to the back of the list. Useful in a CMS context. """ disableNotForSaleSorting: Boolean excludeArtworkIDs: [String] extraAggregationGeneIDs: [String] first: Int forSale: Boolean """ When true, will only return framed artworks. """ framed: Boolean geneID: String geneIDs: [String] height: String """ Hybrid only: how many candidates the semantic arm retrieves. Higher = wider semantic net. """ hybridNeuralK: Int """ Hybrid only: results each arm contributes to the blend; must be ≥ from + page size. Caps pagination depth. """ hybridPaginationDepth: Int """ Hybrid only: [lexical, neural] balance when blending scores, e.g. [0.5,0.5] equal, [0.3,0.7] favors semantic. """ hybridWeights: [Float!] importSources: [String] includeAllJSON: Boolean includeArtworksByFollowedArtists: Boolean includeMediumFilterInAggregation: Boolean """ Include artworks not listed on Artsy (artsy_listing: false). """ includeNonArtsyListed: Boolean includeUnpublished: Boolean """ When true, will only return artworks carrying the Increased Interest collector signal. """ increasedInterest: Boolean input: FilterArtworksInput inquireableOnly: Boolean keyword: String """ When true, will only return exact keyword match """ keywordMatchExact: Boolean """ When true and a `keyword` search returns no results, retries once with typo tolerance. Ignored with `keywordMatchExact`. """ keywordTypoTolerance: Boolean last: Int locationCities: [String] locationId: String majorPeriods: [String] """ When true, will only return `marketable` works (not nude or provocative). """ marketable: Boolean marketingCollectionID: String materialsTerms: [String] """ A string from the list of allocations, or * to denote all mediums """ medium: String offerable: Boolean page: Int partnerCities: [String] partnerID: ID partnerIDs: [String] partnerListID: String period: String periods: [String] priceRange: String """ When false, will only return unpublished artworks for authorized users. """ published: Boolean saleID: ID showID: String """ When true, will only return signed artworks. """ signed: Boolean size: Int """ Filter results by Artwork sizes """ sizes: [ArtworkSizes] sold: Boolean sort: String tagID: String """ Search strategy. 'hybrid' blends semantic (meaning-based) results into the keyword search. Requires a keyword; team-only. """ variant: String viewingRoomID: ID visibilityLevel: String width: String ): FilterArtworksConnection """ The href for this filtered connection """ href: String! """ The slug for this filter, derived from the title """ slug: String! """ The display title for this filtered connection """ title: String! } type ArtworkFilterSuggestion { """ Values the parser rejected as invalid. """ dropped: [ArtworkFilterSuggestionDropped!]! """ True when parsing failed and the query fell back to a plain keyword search. """ fellOpen: Boolean """ Validated hard filters to pass to artworksConnection. """ filters: ArtworkFilterSuggestionFilters """ Leftover 'vibe' text to use as a keyword search. """ keyword: String } type ArtworkFilterSuggestionDropped { field: String value: String } type ArtworkFilterSuggestionFilters { acquireable: Boolean artistNationalities: [String] atAuction: Boolean attributionClass: [String] colors: [String] forSale: Boolean framed: Boolean geneIDs: [String] inquireable: Boolean majorPeriods: [String] offerable: Boolean priceRange: String signed: Boolean sizes: [ArtworkSizes] } union ArtworkHighlight = Article | Show type ArtworkImport implements Node { """ Columns to display for an import, will exist in a row's `transformedData` """ columns: [String!]! createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String createdBy: ArtworkImportCreatedBy currency: String! dimensionMetric: String! fileName: String! """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! locationID: String partnerListID: String rawDataMapping: JSON! rowsConnection( after: String before: String first: Int last: Int ): ArtworkImportRowConnection """ Source of the import: 'bulk_import' or 'multi_add' """ source: String state: ArtworkImportState statistics: ArtworkImportStatistics summary: ArtworkImportSummary unmatchedArtistNames: [String!]! weightMetric: String! } """ A connection to a list of items. """ type ArtworkImportConnection { """ A list of edges. """ edges: [ArtworkImportEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } type ArtworkImportCreatedBy { """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! name: String } """ An edge in a connection. """ type ArtworkImportEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: ArtworkImport } enum ArtworkImportError { ARTWORK_CREATION_FAILED DUPLICATE_IMAGE_FILENAMES INVALID_ARTIST_PROOF INVALID_ARTSY_DOMESTIC_SHIPPING INVALID_ARTSY_INTERNATIONAL_SHIPPING INVALID_AVAILABILITY INVALID_BUY_NOW INVALID_CERTIFICATE_OF_AUTHENTICITY INVALID_CLASSIFICATION INVALID_CURRENCY INVALID_DATE_APPROXIMATE INVALID_DATE_EARLIEST_YEAR INVALID_DATE_LATEST_YEAR INVALID_DATE_MODE INVALID_DEPTH INVALID_DIAMETER INVALID_DIMENSION_METRIC INVALID_DISPLAY_PRICE_RANGE INVALID_DOMESTIC_SHIPPING INVALID_ESTIMATE INVALID_EXCLUDE_FROM_MARKETING INVALID_FRAMED_DEPTH INVALID_FRAMED_DIAMETER INVALID_FRAMED_HEIGHT INVALID_FRAMED_WIDTH INVALID_HEIGHT INVALID_HIGH_ESTIMATE INVALID_INTERNATIONAL_SHIPPING INVALID_INVENTORY_QUANTITY INVALID_LOCATION INVALID_LOT_NUMBER INVALID_LOW_ESTIMATE INVALID_MAKE_OFFER INVALID_MEDIUM INVALID_OPENING_BID INVALID_PICKUP_AVAILABLE INVALID_POSITION INVALID_PRICE INVALID_PRICE_MAX INVALID_PRICE_MIN INVALID_RESERVE INVALID_RESERVE_UNKNOWN INVALID_SIGNATURE INVALID_TITLE INVALID_WEIGHT INVALID_WIDTH MISSING_ARTIST MISSING_DATE MISSING_POSITION MISSING_PRICE MISSING_SALE_SLUG MISSING_TITLE SALE_ARTWORK_CREATION_FAILED UNMATCHED_ARTIST UNMATCHED_IMAGE UNMATCHED_SALE_SLUG UNSUPPORTED_IMAGE_SEPERATOR } type ArtworkImportRow { artists: [Artist!] artwork: Artwork currency: String! dateApproximate: Boolean dateCustom: String dateEarliestYear: Int dateLatestYear: Int dateMode: DateMode dimensionMetric: String! domesticShipping: Money errors: [ArtworkImportRowError!]! estimate: Money excludedFromImport: Boolean! highEstimate: Money """ A globally unique ID. """ id: ID! images: [ArtworkImportRowImage!]! """ A type-specific ID likely used as a database ID. """ internalID: ID! internationalShipping: Money location: Location lowEstimate: Money openingBid: Money priceListed: Money priceMax: Money priceMin: Money rawData: JSON! reserve: Money transformedData: ArtworkImportTransformedData! weightMetric: String! } """ A connection to a list of items. """ type ArtworkImportRowConnection { """ A list of edges. """ edges: [ArtworkImportRowEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type ArtworkImportRowEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: ArtworkImportRow } type ArtworkImportRowError { blocking: Boolean! errorType: ArtworkImportError """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! metadata: JSON } type ArtworkImportRowImage { fileName: String! """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! position: Int! publicUrl: String s3Bucket: String s3Key: String } enum ArtworkImportSource { ARTCLOUD ARTLOGIC BATCH_UPLOAD CONVECTION MY_COLLECTION } enum ArtworkImportState { ARTIST_MATCHING_COMPLETE ARTWORKS_CREATION_COMPLETE ARTWORK_IMPORT_PROCESSING_COMPLETE CANCELED FAILED PENDING POSITION_VALIDATION_COMPLETE SALE_ARTWORKS_CREATION_COMPLETE SALE_SLUG_MATCHING_COMPLETE } type ArtworkImportStatistics { """ Lightweight error IDs for UI cycling functionality. Returns arrays of error IDs without loading full row data for better performance. """ errorIdentifiers: ErrorIdentifiers! """ Breakdown of error types and their counts """ errorTypeCounts: [ErrorTypeCount!]! """ Total number of rows that successfully created artworks """ rowsWithArtworksCreated: Int! """ Total number of rows that failed to create artworks """ rowsWithArtworksFailed: Int! """ Total number of rows with fatal errors (ARTWORK_CREATION_FAILED, excluding UNMATCHED_IMAGE) """ rowsWithFatalErrors: Int! """ Total number of blocking errors across all rows """ totalBlockingErrors: Int! """ Total number of non-blocking errors across all rows """ totalNonBlockingErrors: Int! """ Total number of unique rows with errors (for "X artworks require attention") """ uniqueRowsWithErrors: Int! } type ArtworkImportSummary { currencies: [String!]! dimensionMetrics: [String!]! weightMetrics: [String!]! } type ArtworkImportTransformedData { artistNames: String artistProofs: String artsyDomesticShipping: String artsyInternationalShipping: String artworkCondition: String artworkDescription: String artworkTitle: String availability: String availableEditions: [String] bibliography: String buyNow: String certificateOfAuthenticity: String classification: String confidentialNotes: String currency: String date: String dateApproximate: String dateCustom: String dateEarliestYear: String dateLatestYear: String dateMode: String depth: String diameter: String dimensionMetric: String displayPriceRange: String domesticShipping: String editionSize: String estimate: String excludeFromMarketing: String exhibitionHistory: String framedDepth: String framedDiameter: String framedHeight: String framedWidth: String height: String highEstimate: String imageFileNames: String imageRights: String importSource: String internationalShipping: String inventoryId: String inventoryQuantity: String location: String lotNumber: String lowEstimate: String makeOffer: String materials: String medium: String openingBid: String pickupAvailable: String position: String price: String priceMax: String priceMin: String privateNotes: String provenance: String publisher: String reserve: String reserveUnknown: String saleSlug: String series: String signature: [String] signatureDetails: String weight: String width: String } type ArtworkInfoRow { """ Additional details about given attribute """ details: String """ Label for information row """ label: String } """ An inquiry on an Artwork """ type ArtworkInquiry { artwork: Artwork! """ A globally unique ID. """ id: ID! impulseConversationID: String """ A type-specific ID likely used as a database ID. """ internalID: ID! } """ A connection to a list of items. """ type ArtworkInquiryConnection { """ A list of edges. """ edges: [ArtworkInquiryEdge] """ Information to aid in pagination. """ pageInfo: PageInfo! } """ An edge in a connection. """ type ArtworkInquiryEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: ArtworkInquiry } type ArtworkLayer { """ A connection of artworks from a Layer. """ artworksConnection( after: String before: String first: Int last: Int ): ArtworkConnection cached: Int description: String href: String """ A globally unique ID. """ id: ID! """ A type-specific ID. """ internalID: ID! name: String type: String } type ArtworkListingOptions { isBuyNow: Boolean isMakeOffer: Boolean } """ Collection of fields that describe medium type, such as _Painting_. (This field is also commonly referred to as just "medium", but should not be confused with the artwork attribute called `medium`.) """ type ArtworkMedium { """ The medium gene that corresponds to this medium type. Used for filtering purposes on our frontend, e.g. in artwork grids. """ filterGene: Gene """ Long descriptive phrase """ longDescription: String """ Shortest form of medium type display """ name: String } type ArtworkMeta { description(limit: Int = 155): String image: String share: String title: String } type ArtworkMutationDeleteSuccess { success: Boolean } type ArtworkMutationFailure { mutationError: GravityMutationError } union ArtworkMutationType = ArtworkMutationDeleteSuccess | ArtworkMutationFailure union ArtworkOrEditionSetType = Artwork | EditionSet """ Insights may not be available for all Artwork Connections due to potential performance issues """ type ArtworkPriceInsights { annualLotsSold: Int annualValueSoldCents: FormattedNumber """ The annual value of the work sold "in USD " """ annualValueSoldDisplayText: String artistId: String averageSalePriceDisplayText( """ Passes in to numeral, such as `'0.00'` """ format: String = "" ): String demandRank: Float """ The demand rank display text of the artist and medium """ demandRankDisplayText: String """ Return weather the artist medium is in high demand """ isHighDemand: Boolean lastAuctionResultDate: String liquidityRankDisplayText( """ Return the liquidity rank in a formatted way (Low, medium, high or very high) """ format: String = "" ): String medianSaleOverEstimatePercentage: Float medianSalePriceDisplayText( """ Passes in to numeral, such as `'0.00'` """ format: String = "" ): String medium: String sellThroughRate: Float } type ArtworkPublishedNotificationItem { artists: [Artist!]! artworksConnection( after: String before: String first: Int last: Int ): ArtworkConnection } union ArtworkResult = Artwork | ArtworkError type ArtworkSavedSearch { """ Based on the artworks attributes (usually considered for saved searches). """ suggestedArtworksConnection( after: String before: String first: Int last: Int ): ArtworkConnection } type ArtworkSignatureMeta { """ Whether the artwork has a signature """ hasSignature: Boolean! """ Whether the artwork has a sticker label """ hasStickerLabel: Boolean! """ Whether the artwork is signed by the artist """ isSignedByArtist: Boolean! """ Whether the artwork is signed in plate """ isSignedInPlate: Boolean! """ Whether the artwork is signed by someone else """ isSignedOther: Boolean! """ Whether the artwork is stamped by the artist's estate """ isStampedByArtistEstate: Boolean! } enum ArtworkSignatureTypeEnum { """ The artwork is hand signed by the artist """ HAND_SIGNED_BY_ARTIST """ The artwork is not signed """ NOT_SIGNED """ The artwork has another type of signature """ OTHER """ The artwork is signed in the plate """ SIGNED_IN_PLATE """ The artwork is stamped by the artist's estate """ STAMPED_BY_ARTIST_ESTATE """ The artwork has a sticker label """ STICKER_LABEL } enum ArtworkSizes { LARGE MEDIUM SMALL } enum ArtworkSorts { AVAILABILITY_ASC COMPLETENESS_SCORE_ASC COMPLETENESS_SCORE_DESC CREATED_AT_ASC CREATED_AT_DESC DELETED_AT_ASC DELETED_AT_DESC ICONICITY_DESC LAST_OFFERABLE_ACTIVITY_AT_DESC LAST_SAVED_AT_DESC MERCHANDISABILITY_DESC PARTNER_UPDATED_AT_DESC PUBLISHED_AT_ASC PUBLISHED_AT_DESC RECENT_SAVES_COUNT_DESC TITLE_ASC TITLE_DESC } type ArtworkTemplate { artistIDs: [String] artists( """ Use whatever is in the original response instead of making a request """ shallow: Boolean = false ): [Artist] artsyShippingDomestic: Boolean artsyShippingInternational: Boolean attributionClass: AttributionClass availability: String category: String certificateOfAuthenticity: Boolean coaByAuthenticatingBody: Boolean coaByGallery: Boolean conditionDescription: String createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String date: String depth: Float diameter: Float displayPriceRange: Boolean domesticShippingFeeCents: Int duration: Float ecommerce: Boolean framedDepth: Float framedDiameter: Float framedHeight: Float framedMetric: String framedWidth: Float height: Float """ A globally unique ID. """ id: ID! """ A type-specific ID. """ internalID: ID! internationalShippingFeeCents: Int isFramed: Boolean isNotSigned: Boolean isOfferable: Boolean isPickupAvailable: Boolean isPriceHidden: Boolean isSignedByArtist: Boolean isSignedInPlate: Boolean isSignedOther: Boolean isStampedByArtistEstate: Boolean isStickerLabel: Boolean isUnique: Boolean manufacturer(format: Format): String medium: String metric: String partnerID: String! priceCurrency: String priceListed: Money priceMax: Money priceMin: Money publisher(format: Format): String series(format: Format): String shippingNotes: String shippingWeight: Float shippingWeightMetric: String signature(format: Format): String tags: [String] title: String! updatedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String visibilityLevel: Visibility website: String width: Float } """ A connection to a list of items. """ type ArtworkTemplateConnection { """ A list of edges. """ edges: [ArtworkTemplateEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type ArtworkTemplateEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: ArtworkTemplate } enum ArtworkTemplatesSort { ARTIST_NAME_ASC ARTIST_NAME_DESC CREATED_AT_ASC CREATED_AT_DESC TITLE_ASC TITLE_DESC } type ArtworkVersion implements Node { """ The names for the artists related to this Artwork Version """ artistNames: String """ The artists related to this Artwork Version """ artists: [Artist] """ The Artwork Version attribution class """ attributionClass: AttributionClass """ Artwork condition description """ condition_description: String """ The Artwork Version formatted date """ date: String """ The Image id """ defaultImageID: String """ The Artwork Version dimensions formatted for different units """ dimensions: dimensions """ A globally unique ID. """ id: ID! """ The image representing the Artwork Version """ image: Image """ A type-specific ID likely used as a database ID. """ internalID: ID! """ The Artwork Version medium """ medium: String """ Artwork provenance """ provenance: String """ Artwork title """ title: String } """ The results for one of the requested aggregations """ type ArtworksAggregationResults { counts: [AggregationCount] slice: ArtworkAggregation } type ArtworksCollectionsBatchUpdateCounts { addedToCollections: Int artworks: Int removedFromCollections: Int } type ArtworksCollectionsBatchUpdateFailure { mutationError: GravityMutationError } input ArtworksCollectionsBatchUpdateInput { """ Collection ids. To which collections to add artworks. """ addToCollectionIDs: [String!] """ Artwork ids or slugs. """ artworkIDs: [String!]! clientMutationId: String """ Collection ids. From which collections to remove artworks. """ removeFromCollectionIDs: [String!] } type ArtworksCollectionsBatchUpdatePayload { clientMutationId: String responseOrError: ArtworksCollectionsBatchUpdateResponseOrError } union ArtworksCollectionsBatchUpdateResponseOrError = ArtworksCollectionsBatchUpdateFailure | ArtworksCollectionsBatchUpdateSuccess type ArtworksCollectionsBatchUpdateSuccess { addedToCollections: [Collection] artwork: Artwork counts: ArtworksCollectionsBatchUpdateCounts removedFromCollections: [Collection] } enum AssetType { ADDITIONAL_FILE IMAGE } type AssignArtistToPartnerFailure { mutationError: GravityMutationError } input AssignArtistToPartnerMutationInput { """ The ID of the artist to assign. """ artistID: String! clientMutationId: String """ Whether the artist should be featured. """ featured: Boolean """ The ID of the partner to assign the artist to. """ partnerID: String! """ The URL of the image to use for the partner artist. """ remoteImageUrl: String } type AssignArtistToPartnerMutationPayload { clientMutationId: String """ On success: the created partner artist. On error: the error that occurred. """ partnerArtistOrError: AssignArtistToPartnerResponseOrError } union AssignArtistToPartnerResponseOrError = AssignArtistToPartnerFailure | AssignArtistToPartnerSuccess type AssignArtistToPartnerSuccess { artist: Artist partner: Partner partnerArtist: PartnerArtist } """ Fields of an attachment (currently from Radiation) """ type Attachment { """ Content type of file. """ contentType: String! """ URL of attachment. """ downloadURL: String! """ File name. """ fileName: String! """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! } """ Collection of fields that describe attribution class """ type AttributionClass { """ A globally unique ID. """ id: ID! info: String @deprecated(reason: "Prefer `shortDescription`") """ A type-specific ID likely used as a database ID. """ internalID: ID! """ Long description (can include multiple sentences) for attribution class """ longDescription: String """ Shortest form of attribution class display """ name: String """ Short descriptive phrase for attribution class without punctuation as array of strings """ shortArrayDescription: [String] """ Short descriptive phrase for attribution class without punctuation """ shortDescription: String } type AuctionArtworkGrid implements ArtworkContextGrid { artworksConnection( after: String before: String first: Int last: Int ): ArtworkConnection ctaHref: String ctaTitle: String title: String } """ Collector signals on a biddable auction lot """ type AuctionCollectorSignals { """ Bid count """ bidCount: Int! """ Live bidding has started on this lot's auction """ liveBiddingStarted: Boolean! """ Auction live bidding start time """ liveStartAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ Pending auction lot end time for bidding """ lotClosesAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ Lot watcher count """ lotWatcherCount: Int! """ Lot bidding period extended due to last-minute bids """ onlineBiddingExtended: Boolean! """ Pending auction registration end time """ registrationEndsAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String } """ In centimeters. """ type AuctionLotDimensions { depth: Float height: Float width: Float } type AuctionLotEstimate { display: String high: Float low: Float } type AuctionLotImages { larger: Image thumbnail: Image } type AuctionLotPerformance { """ Percentage performance over mid-estimate """ mid: String } type AuctionResult implements Node { """ Be careful when querying for artist data within a connection as it can lead to performance issues. """ artist: Artist artistID: String! boughtIn: Boolean categoryText: String """ Comparable auction results """ comparableAuctionResults( after: String before: String first: Int last: Int ): AuctionResultConnection currency: String date( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String dateText: String description: String dimensionText: String dimensions: AuctionLotDimensions estimate: AuctionLotEstimate externalURL: String """ A globally unique ID. """ id: ID! images: AuctionLotImages """ A type-specific ID likely used as a database ID. """ internalID: ID! isInArtsyAuction: Boolean! isUpcoming: Boolean location: String lotNumber: String mediumText: String organization: String performance: AuctionLotPerformance priceRealized: AuctionResultPriceRealized saleDate( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String saleDateText: String saleTitle: String slug: String title: String } """ A connection to a list of items. """ type AuctionResultConnection { aggregations: [AuctionResultsAggregationType] createdYearRange: YearRange """ A list of edges. """ edges: [AuctionResultEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type AuctionResultEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: AuctionResult } type AuctionResultPriceRealized { cents: Float centsUSD: Float display( """ Passes in to numeral, such as `'0.00'` """ format: String = "" ): String displayUSD( """ Passes in to numeral, such as `'0.00'` """ format: String = "" ): String } enum AuctionResultSorts { DATE_ASC DATE_DESC ESTIMATE_AND_DATE_DESC PRICE_AND_DATE_DESC } enum AuctionResultsAggregation { CURRENCIES_COUNT LOTS_BY_CREATED_YEAR LOTS_BY_SALE_YEAR SIMPLE_PRICE_HISTOGRAM } """ The results for one of the requested aggregations """ type AuctionResultsAggregationType { counts: [AggregationCount] slice: AuctionResultsAggregation } """ An auction lot result """ type AuctionResultsByArtists { artistId: String boughtIn: Boolean! categoryText: String currency: String date: ISO8601DateTime dateText: String depthCm: Int description: String diameterCm: Int dimensionText: String externalUrl: String hammerPriceCents: BigInt hammerPriceCentsUsd: BigInt heightCm: Int highEstimateCents: BigInt highEstimateCentsUsd: BigInt id: ID! location: String lotNumber: String lowEstimateCents: BigInt lowEstimateCentsUsd: BigInt mediumText: String organization: String priceRealizedCents: BigInt priceRealizedCentsUsd: BigInt saleDate: String saleDateText: String saleOverEstimatePercentage: Float saleTitle: String title: String widthCm: Int } """ The connection type for AuctionResultsByArtists. """ type AuctionResultsByArtistsConnection { """ A list of edges. """ edges: [AuctionResultsByArtistsEdge] """ A list of nodes. """ nodes: [AuctionResultsByArtists] pageCursors: PageCursors """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int totalPages: Int } """ An edge in a connection. """ type AuctionResultsByArtistsEdge { """ A cursor for use in pagination. """ cursor: String! """ The item at the end of the edge. """ node: AuctionResultsByArtists } enum AuctionResultsState { ALL PAST UPCOMING } """ Classification of users based on auction activity """ enum AuctionSegmentationType { """ Users with recent auction-related activity """ ADJACENT """ Users who have not engaged with auctions recently """ DISENGAGED """ Users with a recent auction registration """ ENGAGED """ Users with recently created accounts """ NEW } enum AuctionState { CLOSED OPEN UPCOMING } type AuctionsArtsyBidder { id: ID! paddleNumber: ID! userId: ID } """ an online (Artsy) bidder, or an offline bidder in the auction """ union AuctionsBidder = AuctionsArtsyBidder | AuctionsOfflineBidder """ DateTime is a scalar value that represents an ISO8601 formatted date and time. """ scalar AuctionsDateTime """ A permanent schedule of increments to use in for upcoming asking prices for a lot. """ type AuctionsIncrementPolicy { changes: [AuctionsIncrementPolicyChange!]! createdAt: AuctionsDateTime! """ Generate a list of asking prices across a given range. """ enumerate( from: Long = 0 """ Defines treatment of off-increment `from` values. """ nextIncrementRule: AuctionsNextIncrementRule = SnapToPresetIncrements until: Long = 0 ): [AuctionsMoney!]! groupTag: ID! id: ID! initialIncrementCents: Long! subgroupTag: ID! } """ Change thresholds and amounts for IncrementPolicy. """ type AuctionsIncrementPolicyChange { increment: AuctionsMoney! incrementCents: Long! threshold: AuctionsMoney! thresholdCents: Long! } """ A change in increment amount, to take effect at the given threshold. """ input AuctionsIncrementPolicyChangeInput { incrementCents: Long! thresholdCents: Long! } """ A groupTag and list of IncrementPolicySubgroups """ type AuctionsIncrementPolicyGroup { groupTag: ID! subgroupTags: [ID!]! subgroups: [AuctionsIncrementPolicySubgroup!]! } type AuctionsIncrementPolicySubgroup { group: AuctionsIncrementPolicyGroup! revisions: [AuctionsIncrementPolicy!]! subgroupTag: ID! } """ A user's position on a lot """ type AuctionsLotStanding implements AuctionsNode { """ The ID of an object """ id: ID! """ whether this user has the leading bid """ isHighestBidder: Boolean! """ The current leading bid on the lot, whether it is winning or not """ leadingBidAmount: AuctionsMoney! """ Current lot state """ lot: AuctionsLotState! """ Current lot state """ lotState: AuctionsLotState! @deprecated(reason: "prefer `lot`") rawId: String! saleArtwork: SaleArtwork } """ A connection to a list of items. """ type AuctionsLotStandingConnection { """ A list of edges. """ edges: [AuctionsLotStandingEdge] """ Information to aid in pagination. """ pageInfo: AuctionsPageInfo! } """ An edge in a connection. """ type AuctionsLotStandingEdge { """ A cursor for use in pagination. """ cursor: String! """ The item at the end of the edge. """ node: AuctionsLotStanding! } """ The state of a lot """ type AuctionsLotState { """ total number of actual bids placed by users on the lot """ bidCount: Int! """ current high bid recognized on the live auction floor """ floorSellingPrice: Money """ selling price, in minor unit, on the live auction floor """ floorSellingPriceCents: Long """ The bidder currently winning the live floor portion of the auction """ floorWinningBidder: AuctionsBidder """ The Gravity Lot ID. """ id: ID! """ The Gravity Lot ID. """ internalID: ID! onlineAskingPrice: Money """ asking price, in minor unit, for online bidders """ onlineAskingPriceCents: Long! """ The bidder currently winning the online portion of the auction """ onlineSellingToBidder: AuctionsBidder """ The current reserve status for the lot """ reserveStatus: AuctionsReserveStatus! """ The Gravity Sale ID. """ saleId: ID! """ current high bid """ sellingPrice: Money """ current bid amount in minor unit, whether reserve is met or not """ sellingPriceCents: Long! """ Whether the lot is sold, for sale or passed """ soldStatus: AuctionsSoldStatus! } """ Represents currency units and formatting """ type AuctionsMoney { """ Formatted string version of currency amount """ displayAmount( """ The decimal separator. """ decimalSeparator: String = "." """ Number of decimal places for the currency. """ fractionalDigits: Int = 2 """ The 1000s separator. """ groupingSeparator: String = "," """ Whether to show the fractional units. """ showFractionalDigits: Boolean = true ): String! units: Long! } """ A draft schedule of increments to use in for upcoming asking prices for a lot. """ type AuctionsNewIncrementPolicy { changes: [AuctionsIncrementPolicyChange!]! """ A listing of increments by tier """ enumeratedIncrements: [[AuctionsMoney!]!]! groupTag: ID! id: ID initialIncrementCents: Long! """ The maximum percentage change between increments (~10% is typical). """ maxPercentChange: Float! """ The minimum percentage change between increments (~4% is typical). """ minPercentChange: Float! """ A listing of increments by tier """ prettyPrintedIncrements( """ Number of decimal places for the currency. """ fractionalDigits: Int = 2 ): [String!]! subgroupTag: ID! """ Any non-fatal warnings to check before committing the increment policy. """ warnings: [String!]! } input AuctionsNewIncrementPolicyInput { changes: [AuctionsIncrementPolicyChangeInput!]! groupTag: ID! id: ID initialIncrementCents: Long! subgroupTag: ID! } enum AuctionsNextIncrementRule { AddToPastValue SnapToPresetIncrements } """ An object with an ID """ interface AuctionsNode { """ The id of the object. """ id: ID! } """ An offline bidder (in the auction room) """ type AuctionsOfflineBidder { singletonDummyField: String } """ Information about pagination in a connection. """ type AuctionsPageInfo { """ When paginating forwards, the cursor to continue. """ endCursor: String """ When paginating forwards, are there more items? """ hasNextPage: Boolean! """ When paginating backwards, are there more items? """ hasPreviousPage: Boolean! """ When paginating backwards, the cursor to continue. """ startCursor: String } enum AuctionsReserveStatus { NoReserve ReserveMet ReserveNotMet } """ The state of a sale """ type AuctionsSaleState { """ Users not allowed to participate in the sale """ bannedUsers: [AuctionsUser!]! """ The current lot on block. """ currentLot: AuctionsLotState """ The Gravity Sale ID. """ id: ID! """ The Gravity Sale ID. """ internalID: ID! """ Lot ids that had an Artsy bid that was the highest bid on the lot but did not win """ lotIdsWithHigherArtsyBidNotWon: [String!]! """ Lot ids that had an Artsy bid that was the same max bid as the hammer price on the lot but did not win """ lotIdsWithSameArtsyBidNotWon: [String!]! """ Lot ids without a FairWarning event """ lotIdsWithoutFairWarning: [String!]! """ Lot ids without a FinalCall event """ lotIdsWithoutFinalCall: [String!]! """ The lots belonging to this sale. """ lots: [AuctionsLotState!]! """ Passed lot ids with bids from Artsy bidders """ passedLotIdsWithArtsyBids: [String!]! """ Re-opened lots ids """ reopenedLotIds: [String!]! """ Total Artsy GMV for the sale """ totalSoldGMVCents: Long! } enum AuctionsSoldStatus { ForSale Passed Sold } """ An Artsy User """ type AuctionsUser implements AuctionsNode { """ The ID of an object """ id: ID! """ The user's gravity id """ internalID: ID! rawId: String! """ The user's id """ userId: ID! } type AuthenticatePrivateViewingRoomFailure { mutationError: GravityMutationError } input AuthenticatePrivateViewingRoomMutationInput { clientMutationId: String """ The room's passcode. """ passcode: String! """ The slug of the private viewing room. """ slug: String! } type AuthenticatePrivateViewingRoomMutationPayload { clientMutationId: String """ On success: the private viewing room's contents. On error: the error that occurred (e.g. an incorrect passcode). """ privateViewingRoomOrError: AuthenticatePrivateViewingRoomResponseOrError } union AuthenticatePrivateViewingRoomResponseOrError = AuthenticatePrivateViewingRoomFailure | AuthenticatePrivateViewingRoomSuccess type AuthenticatePrivateViewingRoomSuccess { privateViewingRoom: PrivateViewingRoomContents } enum AuthenticationProvider { APPLE FACEBOOK GOOGLE } enum AuthenticationStatus { INVALID LOGGED_IN LOGGED_OUT } type AuthenticationType { """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! provider: AuthenticationProvider! uid: String! } type Author { articles: [Article!]! articlesConnection( after: String before: String first: Int last: Int page: Int size: Int ): AuthorArticlesConnectionConnection bio(format: Format): String """ A globally unique ID. """ id: ID! image: Image initials(length: Int = 3): String instagramHandle: String @deprecated(reason: "Use `socials.instagram` instead") """ A type-specific ID likely used as a database ID. """ internalID: ID! name: String! role: String """ A slug ID. """ slug: ID socials: AuthorSocials twitterHandle: String @deprecated(reason: "Use `socials.x` instead") website: String } """ A connection to a list of items. """ type AuthorArticlesConnectionConnection { """ A list of edges. """ edges: [AuthorArticlesConnectionEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type AuthorArticlesConnectionEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: Article } """ A connection to a list of items. """ type AuthorConnection { """ A list of edges. """ edges: [AuthorEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type AuthorEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: Author } type AuthorSocials { instagram: AuthorSocialsInstagram x: AuthorSocialsX } type AuthorSocialsInstagram { handle: String! url: String! } type AuthorSocialsX { handle: String! url: String! } type AuthorizeInstagramAccountFailure { mutationError: GravityMutationError } input AuthorizeInstagramAccountInput { clientMutationId: String """ The partner ID to associate the account with """ partnerId: String! """ The OAuth redirect URI """ redirectUri: String! } type AuthorizeInstagramAccountPayload { clientMutationId: String """ On success: the Instagram OAuth authorization URL """ instagramAccountOrError: AuthorizeInstagramAccountResponseOrError } union AuthorizeInstagramAccountResponseOrError = AuthorizeInstagramAccountFailure | AuthorizeInstagramAccountSuccess type AuthorizeInstagramAccountSuccess { """ The Instagram OAuth authorization URL to redirect the user to """ authorizationUrl: String! } type AuthorizeMailchimpAccountFailure { mutationError: GravityMutationError } input AuthorizeMailchimpAccountInput { clientMutationId: String """ The partner ID to associate the account with """ partnerId: String! """ The OAuth redirect URI """ redirectUri: String! } type AuthorizeMailchimpAccountPayload { clientMutationId: String """ On success: the Mailchimp OAuth authorization URL """ mailchimpAccountOrError: AuthorizeMailchimpAccountResponseOrError } union AuthorizeMailchimpAccountResponseOrError = AuthorizeMailchimpAccountFailure | AuthorizeMailchimpAccountSuccess type AuthorizeMailchimpAccountSuccess { """ The Mailchimp OAuth authorization URL to redirect the user to """ authorizationUrl: String! } enum Availability { FOR_SALE NOT_FOR_SALE ON_HOLD ON_LOAN PERMANENT_COLLECTION SOLD } type BackupSecondFactor implements SecondFactor { code: String! disabledAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String enabled: Boolean! enabledAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ A type-specific Gravity Mongo Document ID. """ internalID: ID! kind: SecondFactorKind! } type BackupSecondFactors { secondFactors: [BackupSecondFactor!]! } union BackupSecondFactorsOrErrorsUnion = BackupSecondFactors | Errors type BankAccount { """ Name on the bank account """ accountHolderName: String """ Bank name """ bankName: String """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! """ Last four characters of the account identifier """ last4: String! """ Bank account type """ type: BankAccountTypes! } """ Result of checking if a bank account has sufficient balance for an order """ type BankAccountBalanceCheck { """ Optional message providing additional context about the result """ message: String """ The result of the balance check """ result: BankAccountBalanceCheckResult! } """ The result of a bank account balance check """ enum BankAccountBalanceCheckResult { """ The bank account does not have sufficient funds """ INSUFFICIENT """ The order is not valid for balance check (missing required data or in wrong state) """ INVALID """ This payment method does not support balance checks """ NOT_SUPPORTED """ Balance check is pending, external service has not returned result yet """ PENDING """ The bank account has sufficient funds for the order """ SUFFICIENT } """ A connection to a list of items. """ type BankAccountConnection { """ A list of edges. """ edges: [BankAccountEdge] """ Information to aid in pagination. """ pageInfo: PageInfo! } """ An edge in a connection. """ type BankAccountEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: BankAccount } type BankAccountMutationFailure { mutationError: GravityMutationError } type BankAccountMutationSuccess { bankAccount: BankAccount bankAccountEdge: BankAccountEdge } union BankAccountMutationType = BankAccountMutationFailure | BankAccountMutationSuccess enum BankAccountTypes { SEPA_DEBIT US_BANK_ACCOUNT } type BatchArtworkImportImagesFailure { mutationError: GravityMutationError } input BatchArtworkImportImagesImageInput { """ The image filename """ fileName: String! """ ID of the row to associate the images with (required if images don't already exist) """ rowID: String """ S3 bucket of the uploaded image asset """ s3Bucket: String! """ S3 key of the uploaded image asset """ s3Key: String! } input BatchArtworkImportImagesInput { artworkImportID: String! clientMutationId: String """ Array of image objects to match """ images: [BatchArtworkImportImagesImageInput!]! } type BatchArtworkImportImagesPayload { batchArtworkImportImagesOrError: BatchArtworkImportImagesResponseOrError clientMutationId: String } union BatchArtworkImportImagesResponseOrError = BatchArtworkImportImagesFailure | BatchArtworkImportImagesSuccess type BatchArtworkImportImagesSuccess { artworkImport: ArtworkImport success: Boolean! } type BidIncrement { amount: Int from: Int to: Int } type BidIncrementsFormatted { cents: Float display: String } type Bidder implements Node { createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! pin: String qualifiedForBidding: Boolean sale: Sale user: User } type BidderPosition { createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String highestBid: HighestBid """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! isActive: Boolean isRetracted: Boolean isWinning: Boolean isWithBidMax: Boolean maxBid: BidderPositionMaxBid processedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String saleArtwork: SaleArtwork suggestedNextBid: BidderPositionSuggestedNextBid updatedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String } input BidderPositionInput { artworkID: String! clientMutationId: String maxBidAmountCents: Float! saleID: String! } type BidderPositionMaxBid { """ A formatted price with various currency formatting options. """ amount( decimal: String = "." disambiguate: Boolean = false """ Allows control of symbol position (%v = value, %s = symbol) """ format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String """ An amount of money expressed in cents. """ cents: Float """ A pre-formatted price. """ display: String } type BidderPositionPayload { clientMutationId: String result: BidderPositionResult } type BidderPositionResult { messageDescriptionMD: String messageHeader: String position: BidderPosition rawError: String status: String! } type BidderPositionSuggestedNextBid { """ A formatted price with various currency formatting options. """ amount( decimal: String = "." disambiguate: Boolean = false """ Allows control of symbol position (%v = value, %s = symbol) """ format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String """ An amount of money expressed in cents. """ cents: Float """ A pre-formatted price. """ display: String } """ Represents non-fractional signed whole numeric values. Since the value may exceed the size of a 32-bit integer, it's encoded as a string. """ scalar BigInt type BrandKit { backgroundColor: String createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String ctaColor: String fontFamily: String fontStyle: String fontWeight: String """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! logo: Image partnerID: String textColor: String updatedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String } type BulkAddArtworksToPartnerListFailure { mutationError: GravityMutationError } input BulkAddArtworksToPartnerListMutationInput { """ The IDs of the artworks to add. """ artworkIds: [String!]! clientMutationId: String """ The ID of the partner list. """ listId: String! } type BulkAddArtworksToPartnerListMutationPayload { clientMutationId: String """ On success: the updated partner list. On error: the error that occurred. """ partnerListOrError: BulkAddArtworksToPartnerListResponseOrError } union BulkAddArtworksToPartnerListResponseOrError = BulkAddArtworksToPartnerListFailure | BulkAddArtworksToPartnerListSuccess type BulkAddArtworksToPartnerListSuccess { partnerList: PartnerList } type BulkAddArtworksToShowMutationFailure { mutationError: GravityMutationError } input BulkAddArtworksToShowMutationInput { clientMutationId: String """ Filter options to apply """ filters: BulkArtworkFilterInput """ ID of the partner """ id: String! """ ID of the show to which artworks will be added """ showId: String! """ Source of the mutation being triggered, E.g. admin, artworks_list """ source: BulkUpdateSourceEnum } type BulkAddArtworksToShowMutationPayload { bulkAddArtworksToShowOrError: BulkAddArtworksToShowMutationType clientMutationId: String } type BulkAddArtworksToShowMutationSuccess { skippedPartnerArtworks: BulkAddArtworksToShowResponse updatedPartnerArtworks: BulkAddArtworksToShowResponse } union BulkAddArtworksToShowMutationType = BulkAddArtworksToShowMutationFailure | BulkAddArtworksToShowMutationSuccess type BulkAddArtworksToShowResponse { count: Int ids: [String] } input BulkArtworkFilterInput { """ Filter artworks by artist id """ artistId: String """ Filter artworks with matching ids """ artworkIds: [String] """ Filter artworks by availability """ availability: Availability """ Filter artworks by location """ locationId: String """ Filter artworks by partner artist id """ partnerArtistId: String """ Filter artworks by partner list id """ partnerListId: String """ Filter artworks by published status """ published: Boolean } input BulkDeleteArtworkFilterInput { """ Filter artworks by artist id """ artistId: String """ Filter artworks with matching ids """ artworkIds: [String] """ Filter artworks by availability """ availability: Availability """ Filter artworks by location """ locationId: String """ Filter artworks by partner artist id """ partnerArtistId: String """ Filter artworks by published status """ published: Boolean } type BulkDeleteArtworksFromPartnerListFailure { mutationError: GravityMutationError } input BulkDeleteArtworksFromPartnerListMutationInput { """ The IDs of the artworks to remove. """ artworkIds: [String!]! clientMutationId: String """ The ID of the partner list. """ listId: String! } type BulkDeleteArtworksFromPartnerListMutationPayload { clientMutationId: String """ On success: the updated partner list. On error: the error that occurred. """ partnerListOrError: BulkDeleteArtworksFromPartnerListResponseOrError } union BulkDeleteArtworksFromPartnerListResponseOrError = BulkDeleteArtworksFromPartnerListFailure | BulkDeleteArtworksFromPartnerListSuccess type BulkDeleteArtworksFromPartnerListSuccess { partnerList: PartnerList } type BulkDeleteArtworksMutationFailure { mutationError: GravityMutationError } input BulkDeleteArtworksMutationInput { clientMutationId: String """ Filter options to select the artworks to delete. At least one filter is required. """ filters: BulkDeleteArtworkFilterInput """ ID of the partner """ id: String! """ Source of the mutation being triggered, E.g. admin, artworks_list """ source: BulkUpdateSourceEnum } type BulkDeleteArtworksMutationPayload { bulkDeleteArtworksOrError: BulkDeleteArtworksMutationType clientMutationId: String } type BulkDeleteArtworksMutationSuccess { deletedPartnerArtworks: BulkDeleteArtworksResponse skippedPartnerArtworks: BulkDeleteArtworksResponse } union BulkDeleteArtworksMutationType = BulkDeleteArtworksMutationFailure | BulkDeleteArtworksMutationSuccess type BulkDeleteArtworksResponse { count: Int ids: [String] } input BulkUpdateArtworksMetadataInput { """ The artist IDs to be assigned """ artistIds: [String] """ Whether the artworks are listed on Artsy """ artsyListing: Boolean """ Whether Artsy Shipping is enabled for domestic shipments """ artsyShippingDomestic: Boolean """ Whether Artsy Shipping is enabled for international shipments """ artsyShippingInternational: Boolean """ The attribution class to be assigned, E.g. unique, open edition, limited edition """ attributionClass: String """ The availaiblity to be assigned """ availability: Availability """ The category (medium type) to be assigned """ category: String """ If COA is provided by a third-party authenticating body. """ coaByAuthenticatingBody: Boolean """ If COA is provided by the gallery. """ coaByGallery: Boolean """ The artwork condition to be assigned """ conditionDescription: String """ Array of dates as numbers to be assigned """ dates: [Int] """ Depth of the artwork """ depth: String """ Diameter of the artwork """ diameter: String """ Set artwork price visibility to price range """ displayPriceRange: Boolean """ Flat fee for domestic shipping. It must be entered in cents. """ domesticShippingFeeCents: Int """ Whether the artworks must be listed as Purchase """ ecommerce: Boolean """ Number of additional edition sets to be created for each artwork """ editionSetsCount: Int """ Set artwork price visibility to exact price """ exactPrice: Boolean """ The exhibition history to be assigned """ exhibitionHistory: String """ Whether a certificate of authenticity is provided for these artworks. """ hasCertificateOfAuthenticity: Boolean """ Height of the artwork """ height: String """ The image rights to be assigned """ imageRights: String """ Flat fee for international shipping. It must be entered in cents. """ internationalShippingFeeCents: Int """ The literature to be assigned """ literature: String """ The partner location ID to assign """ locationId: String """ The medium (materials) to be assigned, E.g. Oil on Canvas """ medium: String """ Metric unit for dimensions (in or cm) """ metric: String """ Whether the artworks must be listed as Make Offer """ offer: Boolean """ Whether pickup is available for the artworks """ pickupAvailable: Boolean """ Adjusts the artworks' prices according to the value passed (percentage). """ priceAdjustment: Int """ The currency for the artworks. Required when setting flat shipping fees. """ priceCurrency: String """ Set artwork price visibility to price on request """ priceHidden: Boolean """ The price for the artworks """ priceListed: Float """ The price in minor units, targeting the catalog artwork field """ priceMinor: Int """ Private notes about the artwork """ privateNotes: String """ The provenance to be assigned """ provenance: String """ Publish or unpublish artworks """ published: Boolean """ Details about the signature """ signature: String """ Types of signatures on the artwork """ signatureTypes: [ArtworkSignatureTypeEnum] """ The title of the artwork """ title: String """ Width of the artwork """ width: String } type BulkUpdateArtworksMetadataMutationFailure { mutationError: GravityMutationError } input BulkUpdateArtworksMetadataMutationInput { clientMutationId: String """ Filter options to apply """ filters: BulkArtworkFilterInput """ ID of the partner """ id: String! """ Metadata to be updated """ metadata: BulkUpdateArtworksMetadataInput """ Source of the mutation being triggered, E.g. admin, artworks_list """ source: BulkUpdateSourceEnum """ When true, catalog-eligible fields are routed to CatalogArtwork records instead of Artwork """ updateCatalog: Boolean } type BulkUpdateArtworksMetadataMutationPayload { bulkUpdateArtworksMetadataOrError: BulkUpdateArtworksMetadataMutationType clientMutationId: String } type BulkUpdateArtworksMetadataMutationSuccess { skippedPartnerArtworks: BulkUpdateArtworksMetadataResponse updatedPartnerArtworks: BulkUpdateArtworksMetadataResponse } union BulkUpdateArtworksMetadataMutationType = BulkUpdateArtworksMetadataMutationFailure | BulkUpdateArtworksMetadataMutationSuccess type BulkUpdateArtworksMetadataResponse { count: Int ids: [String] } type BulkUpdateMetadataPreview { counts: BulkUpdateMetadataPreviewCounts! } type BulkUpdateMetadataPreviewCounts { editable: Int! """ Number of artworks that cannot be edited (total - editable). """ nonEditable: Int! total: Int! } """ Possible sources of the bulk operation """ enum BulkUpdateSourceEnum { ADMIN ARTWORKS_LIST INVENTORY PARTNER_ARTIST_ARTWORKS_LIST PARTNER_LIST SHOW_ARTWORKS_LIST } type BuyersPremium { """ A formatted price with various currency formatting options. """ amount( decimal: String = "." disambiguate: Boolean = false """ Allows control of symbol position (%v = value, %s = symbol) """ format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String cents: Int percent: Float } type CalculatedCost { bidAmount: Money buyersPremium: Money subtotal: Money } """ Market Price Insights Calendar year """ type CalendarYearMarketPriceInsights { artistId: ID artistName: String averageSalePrice: BigInt createdAt: ISO8601DateTime id: ID! lotsSold: BigInt medianSalePrice: BigInt medium: String updatedAt: ISO8601DateTime valueSold: BigInt year: String! } """ Price Insights Calendar year """ type CalendarYearPriceInsights { calendarYearMarketPriceInsights: [CalendarYearMarketPriceInsights!] medium: String! } type Card { """ The display brand of the card (e.g., Visa, Mastercard). """ displayBrand: String! """ The last 4 digits of the card. """ last4: String! } type CareerHighlight implements Node { artist: Artist! collected: Boolean! group: Boolean! """ A globally unique ID. """ id: ID! """ A type-specific ID. """ internalID: ID! partner: Partner! solo: Boolean! venue: String! } type CatalogArtwork { """ Artnet record of this catalog artwork. """ artnetArtwork: ArtnetArtwork artworkId: String availability: String """ Edition sets associated with this catalog artwork. """ catalogEditionSets: [CatalogEditionSet] createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ Documents attached to this catalog artwork. """ documents: [CatalogArtworkDocument] documentsCount: Int """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! medium: String priceCurrency: String priceListed: Money privateNotes: String syncedMedium: String updatedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String } type CatalogArtworkDocument { catalogArtworkId: String! createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String fileSize: Int filename: String! """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! publicURL: String! title: String updatedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String } type CatalogEditionSet { availability: String createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String editionSetId: String """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! priceCurrency: String priceListed: Money updatedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String } """ Fields that can be synced from catalog artwork (OS) to CMS. """ enum CatalogSyncableField { AVAILABILITY MEDIUM PRICE } type CausalityLotState { bidCount: Int floorSellingPrice: Money floorSellingPriceCents: Int internalID: String onlineAskingPrice: Money onlineAskingPriceCents: Int reserveStatus: String saleId: String sellingPrice: Money sellingPriceCents: Int soldStatus: String } type CertificateOfAuthenticityDetails { coaByAuthenticatingBody: Boolean coaByGallery: Boolean } type Channel { """ A connection of articles related to a partner. """ articlesConnection( after: String before: String first: Int last: Int sort: ArticleSorts ): ArticleConnection """ A globally unique ID. """ id: ID! image: Image """ A type-specific ID. """ internalID: ID! links: [ChannelLink!]! name: String! slug: String tagline: String type: ChannelType! } type ChannelLink { text: String! url: String! } enum ChannelType { Editorial Support Team } type City { coordinates: LatLng fairsConnection( after: String before: String first: Int last: Int sort: FairSorts status: EventStatus ): FairConnection fullName: String! name: String! showsConnection( after: String before: String """ Only used when status is CLOSING_SOON or UPCOMING. Number of days used to filter upcoming and closing soon shows """ dayThreshold: Int first: Int """ Whether to include local discovery stubs """ includeStubShows: Boolean last: Int """ Caps number of shows per partner (may result in uneven page sizes) """ maxPerPartner: Int page: Int """ Filter shows by partner type """ partnerType: PartnerShowPartnerType size: Int sort: ShowSorts """ Filter shows by chronological event status """ status: EventStatus = CURRENT ): ShowConnection slug: String! sponsoredContent: CitySponsoredContent } type CitySponsoredContent { artGuideUrl: String featuredShows: [Show] introText: String showsConnection( after: String before: String first: Int last: Int sort: ShowSorts status: EventStatus ): ShowConnection } """ An client-facing feature flag, used for tracking releases, experiments, etc. """ type ClientFeatureFlag { """ A description of the feature """ description: String """ Whether the feature is enabled """ enabled: String! """ The name of the feature """ name: String! """ The name of the experimental variant being shown currently (when the feature is of type `experiment`) """ variant: String """ The variants available within this experiment (when the feature is of type `experiment`) """ variants: [ClientFeatureFlagVariant] } type ClientFeatureFlagVariant { name: String! stickiness: String weight: Int! } """ A connection to a list of items. """ type CollectedArtistConnection { """ A list of edges. """ edges: [CollectedArtistEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type CollectedArtistEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: Artist """ A representative medium/category for this artist based on the user's collection """ representativeCategory: String } """ A collection of artworks """ type Collection { artworksConnection( after: String before: String first: Int forSale: Boolean last: Int page: Int """ In USD Dollars """ priceMax: Int """ In USD Dollars """ priceMin: Int sort: CollectionArtworkSorts = SAVED_AT_DESC ): ArtworkConnection """ Number of artworks associated with this collection. """ artworksCount( """ Only count visible artworks """ onlyVisible: Boolean = false ): Int! """ True if this is the default collection for this user, i.e. the default Saved Artwork collection. """ default: Boolean! """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! """ Checking whether artwork is included in collection """ isSavedArtwork(artworkID: String!): Boolean! """ Name of the collection. Has a predictable value for 'standard' collections such as Saved Artwork, My Collection, etc. Can be provided by user otherwise. """ name: String! private: Boolean! """ True if this collection represents artworks explicitly saved by the user, false otherwise. """ saves: Boolean! shareableWithPartners: Boolean! slug: String } enum CollectionArtworkSorts { POSITION_ASC POSITION_DESC SAVED_AT_ASC SAVED_AT_DESC } enum CollectionSorts { CREATED_AT_ASC CREATED_AT_DESC UPDATED_AT_ASC UPDATED_AT_DESC } """ A connection to a list of items. """ type CollectionsConnection { """ A list of edges. """ edges: [CollectionsEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type CollectionsEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: Collection } enum CollectorAttributeKey { HAS_BOUGHT_WORKS_FROM_PARTNER HAS_BOUGHT_WORKS_FROM_SIMILAR_PARTNERS HAS_DEMONSTRATED_BUDGET HAS_ENABLED_ALERTS_ON_ARTIST HAS_ENABLED_ALERTS_ON_A_REPRESENTED_ARTIST HAS_FOLLOWED_A_REPRESENTED_ARTIST HAS_FOLLOWED_PARTNER HAS_INQUIRED_ABOUT_WORKS_FROM_ARTIST HAS_INQUIRED_ABOUT_WORKS_FROM_PARTNER HAS_INQUIRED_WITH_SIMILAR_PARTNERS HAS_SAVED_WORKS_FROM_ARTIST HAS_SAVED_WORKS_FROM_PARTNER IS_ACTIVE_USER IS_RECENT_SIGN_UP IS_REPEAT_BUYER } type CollectorProfileType implements Node { artsyUserSince( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String bio: String """ Artists collected by this user, sorted by relevance with representative medium categories """ collectedArtistsConnection( after: String """ Artwork ID for context-aware sorting. Can be injected in conversation context. """ artworkID: String before: String first: Int last: Int ): CollectedArtistConnection collectedArtworksCount: Int! """ Structured attributes describing the collector in relation to the artwork/partner. """ collectorAttributes( """ This can be specified, and is injected in a conversation context for convenience. """ artworkID: String ): [CollectorSummaryAttribute!]! collectorLevel: Int companyName: String companyWebsite: String confirmedBuyerAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String email: String emailConfirmed: Boolean @deprecated( reason: "emailConfirmed is going to be removed, use isEmailConfirmed instead" ) firstNameLastInitial: String followedArtistsCount: Int! icon: Image """ A globally unique ID. """ id: ID! identityVerified: Boolean @deprecated( reason: "identityVerified is going to be removed, use isIdentityVerified instead" ) initials(length: Int = 3): String inquiryRequestsCount: Int! """ Collector's Instagram handle """ instagram: String institutionalAffiliations: String intents: [String] interestsConnection( after: String before: String first: Int last: Int ): UserInterestConnection """ A type-specific ID likely used as a database ID. """ internalID: ID! isActiveBidder: Boolean isActiveInquirer: Boolean isEmailConfirmed: Boolean isIdentityVerified: Boolean isProfileComplete: Boolean lastUpdatePromptAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ Collector's LinkedIn handle """ linkedIn: String location: MyLocation loyaltyApplicantAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String name: String """ Collector's position with relevant institutions """ otherRelevantPositions: String owner: User! """ User ID of the collector profile's owner """ ownerID: ID! """ Holds information about the engagement a collector profile has with a given partner """ partnerEngagement( """ The ID of the partner to check for engagement """ partnerID: ID! ): PartnerEngagement privacy: String profession: String professionalBuyerAppliedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String professionalBuyerAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String savedArtworksCount: Int! selfReportedPurchases: String """ An artwork-specific paragraph describing the collector. """ summaryParagraph( """ This can be specified, and is injected in a conversation context for convenience. """ artworkID: String ): String totalBidsCount: Int! userInterests: [UserInterest]! @deprecated(reason: "Use \"owner#interestsConnection\" field instead.") } """ A connection to a list of items. """ type CollectorProfileTypeConnection { """ A list of edges. """ edges: [CollectorProfileTypeEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type CollectorProfileTypeEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: CollectorProfileType } type CollectorProfileUpdatePromptNotificationItem { collectorProfile: CollectorProfileType! me: Me! } type CollectorResume { buyerActivity: CommerceBuyerActivity collectorProfile: CollectorProfileType! """ The Collector follows the Gallery profile """ isCollectorFollowingPartner: Boolean! """ non-bnmo Collector's purchase history """ purchases: purchases """ Collector's ID used to stitch buyerActivity with the Exchange schema """ userId: String! } """ Collector signals available to the artwork """ type CollectorSignals { auction: AuctionCollectorSignals """ Bid count on lots open for bidding """ bidCount: Int @deprecated(reason: "Use nested field in `auction` instead") """ Artwork is part of Curators' Pick Emerging collection """ curatorsPick: Boolean """ Increased interest in the artwork """ increasedInterest: Boolean! """ Live bidding has started on this lot's auction """ liveBiddingStarted: Boolean @deprecated(reason: "Use nested field in `auction` instead") """ Auction live bidding start time """ liveStartAt: String @deprecated(reason: "Use nested field in `auction` instead") """ Pending auction lot end time for bidding """ lotClosesAt: String @deprecated(reason: "Use nested field in `auction` instead") """ Lot watcher count on lots open for bidding """ lotWatcherCount: Int @deprecated(reason: "Use nested field in `auction` instead") """ Auction lot bidding period extended due to last-minute bids """ onlineBiddingExtended: Boolean @deprecated(reason: "Use nested field in `auction` instead") """ Partner offer available to collector """ partnerOffer: PartnerOfferToCollector """ Primary label signal available to collector """ primaryLabel( """ Signals to ignore """ ignore: [LabelSignalEnum] ): LabelSignalEnum """ Pending auction registration end time """ registrationEndsAt: String @deprecated(reason: "Use nested field in `auction` instead") """ Most recent running Show or Fair booth the artwork is currently in, sorted by relevance """ runningShow: Show } type CollectorSummaryAttribute { """ The key identifying this attribute type """ key: CollectorAttributeKey! """ The display text shown to the user """ label: String! """ Whether this attribute is true for the collector """ value: Boolean! } """ Represents either an action or a potential failure """ union CommerceActionOrFailureUnion = CommerceOrderRequiresAction | CommerceOrderWithMutationFailure """ Autogenerated input type of AddInitialOfferToOrder """ input CommerceAddInitialOfferToOrderInput { amountCents: Int! """ A unique identifier for the client performing the mutation. """ clientMutationId: String note: String orderId: ID! } """ Autogenerated return type of AddInitialOfferToOrder. """ type CommerceAddInitialOfferToOrderPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ A union of success/failure """ orderOrError: CommerceOrderOrFailureUnion! } """ An generic error type for mutations """ type CommerceApplicationError { """ Code of this error """ code: String! """ What caused the error """ data: String """ Type of this error """ type: String! } """ Autogenerated input type of ApproveOrder """ input CommerceApproveOrderInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String id: ID! shippingContact: CommerceShippingContactAttributes } """ Autogenerated return type of ApproveOrder. """ type CommerceApproveOrderPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ A union of success/failure """ orderOrError: CommerceOrderOrFailureUnion! } """ Bank account balance """ type CommerceBankAccountBalance { balanceCents: Int currencyCode: String } type CommerceBuyOrder implements CommerceOrder { """ Whether Artsy collects taxes (e.g., sales tax or VAT) on this order. """ artsyCollectsTaxes: Boolean artsyRemitsTaxes: Boolean artsyTotal( decimal: String = "." format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String artsyTotalCents: Int artworkDetails: String availablePaymentMethods: [CommercePaymentMethodEnum!]! bankAccountId: String buyer: CommerceOrderPartyUnion! buyerDetails: OrderParty buyerPhoneNumber: String buyerPhoneNumberCountryCode: String buyerProfile: CollectorProfileType buyerTotal( decimal: String = "." format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String buyerTotalCents: Int code: String! commissionFee( decimal: String = "." format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String commissionFeeCents: Int commissionRate: Float conditionsOfSale: String conversation: Conversation createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String! creditCard: CreditCard creditCardId: String creditCardWalletType: String currencyCode: String! displayCommissionRate: String displayState: CommerceOrderDisplayStateEnum! id: ID! impulseConversationId: String internalID: ID! itemsTotal( decimal: String = "." format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String """ Item total in cents, for Offer Orders this field reflects current offer """ itemsTotalCents: Int lastApprovedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String lastSubmittedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String lastTransactionFailed: Boolean lastTransactionFailureCode: String lineItems( """ Returns the elements in the list that come after the specified cursor. """ after: String """ Returns the elements in the list that come before the specified cursor. """ before: String """ Returns the first _n_ elements from the list. """ first: Int """ Returns the last _n_ elements from the list. """ last: Int ): CommerceLineItemConnection mode: CommerceOrderModeEnum orderHistory: [CommerceOrderEventUnion!]! orderUpdateState: String paymentMethod: CommercePaymentMethodEnum paymentMethodDetails: PaymentMethodUnion paymentSet: Boolean! requestedFulfillment: CommerceRequestedFulfillmentUnion """ Whether the buyer needs to complete identity verification to make this purchase. """ requireIdentityVerification: Boolean! seller: CommerceOrderPartyUnion! sellerDetails: OrderParty sellerTotal( decimal: String = "." format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String sellerTotalCents: Int shippingRadius: String shippingTotal( decimal: String = "." format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String shippingTotalCents: Int source: CommerceOrderSourceEnum! state: CommerceOrderStateEnum! stateExpiresAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String stateReason: String stateUpdatedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String stripeConfirmationToken: String taxTotal( decimal: String = "." format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String taxTotalCents: Int taxTypes: [CommerceTaxTypeEnum!]! totalListPrice( decimal: String = "." format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String totalListPriceCents: Int! transactionFee( decimal: String = "." format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String transactionFeeCents: Int updatedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String! } """ Autogenerated input type of BuyerAcceptOffer """ input CommerceBuyerAcceptOfferInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String offerId: ID! } """ Autogenerated return type of BuyerAcceptOffer. """ type CommerceBuyerAcceptOfferPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ A union of success/failure """ orderOrError: CommerceOrderOrFailureUnion! } """ Buyer Activity for Collector Profile """ type CommerceBuyerActivity { totalPurchases: Int! } """ Autogenerated input type of BuyerCounterOffer """ input CommerceBuyerCounterOfferInput { amountCents: Int! """ A unique identifier for the client performing the mutation. """ clientMutationId: String note: String offerId: ID! } """ Autogenerated return type of BuyerCounterOffer. """ type CommerceBuyerCounterOfferPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ A union of success/failure """ orderOrError: CommerceOrderOrFailureUnion! } enum CommerceBuyerOfferActionEnum { """ Buyer's offer is accepted and final """ OFFER_ACCEPTED """ Buyer's offer accepted, needs to confirm tax and shipping """ OFFER_ACCEPTED_CONFIRM_NEEDED """ Buyer received a counter offer """ OFFER_RECEIVED """ Buyer received a counter, offer needs to confirm tax and shipping """ OFFER_RECEIVED_CONFIRM_NEEDED """ Buyer's payment failed """ PAYMENT_FAILED """ Provisional offer is accepted and tax/shipping confirmed """ PROVISIONAL_OFFER_ACCEPTED } """ Autogenerated input type of BuyerRejectOffer """ input CommerceBuyerRejectOfferInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String offerId: ID! rejectReason: CommerceCancelReasonTypeEnum } """ Autogenerated return type of BuyerRejectOffer. """ type CommerceBuyerRejectOfferPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ A union of success/failure """ orderOrError: CommerceOrderOrFailureUnion! } enum CommerceCancelReasonTypeEnum { """ cancelation reason is: admin_canceled """ ADMIN_CANCELED """ cancelation reason is: admin_failed_review """ ADMIN_FAILED_REVIEW """ cancelation reason is: buyer_lapsed """ BUYER_LAPSED """ cancelation reason is: buyer_rejected """ BUYER_REJECTED """ cancelation reason is: funds_not_received """ FUNDS_NOT_RECEIVED """ cancelation reason is: seller_lapsed """ SELLER_LAPSED """ cancelation reason is: seller_rejected """ SELLER_REJECTED """ cancelation reason is: seller_rejected_artwork_unavailable """ SELLER_REJECTED_ARTWORK_UNAVAILABLE """ cancelation reason is: seller_rejected_offer_too_low """ SELLER_REJECTED_OFFER_TOO_LOW """ cancelation reason is: seller_rejected_other """ SELLER_REJECTED_OTHER """ cancelation reason is: seller_rejected_shipping_unavailable """ SELLER_REJECTED_SHIPPING_UNAVAILABLE } """ Autogenerated input type of ConfirmFulfillment """ input CommerceConfirmFulfillmentInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String id: ID! } """ Autogenerated return type of ConfirmFulfillment. """ type CommerceConfirmFulfillmentPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ A union of success/failure """ orderOrError: CommerceOrderOrFailureUnion! } """ Autogenerated input type of ConfirmPickup """ input CommerceConfirmPickupInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String id: ID! } """ Autogenerated return type of ConfirmPickup. """ type CommerceConfirmPickupPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ A union of success/failure """ orderOrError: CommerceOrderOrFailureUnion! } """ Autogenerated input type of CreateBankDebitSetupForOrder """ input CommerceCreateBankDebitSetupForOrderInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String id: ID! } """ Autogenerated return type of CreateBankDebitSetupForOrder. """ type CommerceCreateBankDebitSetupForOrderPayload { """ A union of action data and failure """ actionOrError: CommerceActionOrFailureUnion! """ A unique identifier for the client performing the mutation. """ clientMutationId: String } """ Autogenerated input type of CreateInquiryOfferOrderWithArtwork """ input CommerceCreateInquiryOfferOrderWithArtworkInput { """ Artwork Id """ artworkId: String! """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ EditionSet Id """ editionSetId: String """ When set to false, we will create a new order. Otherwise if current user has submitted orders on same artwork/edition with same quantity, we will return that """ findActiveOrCreate: Boolean = true """ Impulse conversation id corresponding to an order. """ impulseConversationId: String! """ Number of items in the line item, default is 1 """ quantity: Int } """ Autogenerated return type of CreateInquiryOfferOrderWithArtwork. """ type CommerceCreateInquiryOfferOrderWithArtworkPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ A union of success/failure. If find_active_or_create is not false, it will return existing submitted order for current user if exists, otherwise it will return newly created order """ orderOrError: CommerceOrderOrFailureUnion! } """ Autogenerated input type of CreateInquiryOrderWithArtwork """ input CommerceCreateInquiryOrderWithArtworkInput { """ Artwork Id """ artworkId: String! """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ EditionSet Id """ editionSetId: String """ Impulse conversation id corresponding to an order. """ impulseConversationId: String! """ Number of items in the line item """ quantity: Int } """ Autogenerated return type of CreateInquiryOrderWithArtwork. """ type CommerceCreateInquiryOrderWithArtworkPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ A union of success/failure """ orderOrError: CommerceOrderOrFailureUnion! } """ Autogenerated input type of CreateOfferOrderWithArtwork """ input CommerceCreateOfferOrderWithArtworkInput { """ Artwork Id """ artworkId: String! """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ EditionSet Id """ editionSetId: String """ When set to false, we will create a new order. Otherwise if current user has submitted orders on same artwork/edition with same quantity, we will return that """ findActiveOrCreate: Boolean = true """ PartnerOffer Id """ partnerOfferId: String """ Number of items in the line item, default is 1 """ quantity: Int } """ Autogenerated return type of CreateOfferOrderWithArtwork. """ type CommerceCreateOfferOrderWithArtworkPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ A union of success/failure. If find_active_or_create is not false, it will return existing submitted order for current user if exists, otherwise it will return newly created order """ orderOrError: CommerceOrderOrFailureUnion! } """ Autogenerated input type of CreateOrderWithArtwork """ input CommerceCreateOrderWithArtworkInput { """ Artwork Id """ artworkId: String! """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ EditionSet Id """ editionSetId: String """ Number of items in the line item """ quantity: Int } """ Autogenerated return type of CreateOrderWithArtwork. """ type CommerceCreateOrderWithArtworkPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ A union of success/failure """ orderOrError: CommerceOrderOrFailureUnion! } """ Autogenerated input type of CreatePartnerOfferOrder """ input CommerceCreatePartnerOfferOrderInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ EditionSet Id """ editionSetId: String """ Impulse conversation id corresponding to an order. """ impulseConversationId: String """ PartnerOffer Id """ partnerOfferId: String! """ Number of items in the line item """ quantity: Int } """ Autogenerated return type of CreatePartnerOfferOrder. """ type CommerceCreatePartnerOfferOrderPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ A union of success/failure """ orderOrError: CommerceOrderOrFailureUnion! } """ Date in YYYY-MM-DD format """ scalar CommerceDate """ An ISO 8601 datetime """ scalar CommerceDateTime enum CommerceEeiFormStatusEnum { """ approved """ APPROVED """ cleared """ CLEARED """ pending """ PENDING """ rejected """ REJECTED """ submitted """ SUBMITTED } interface CommerceEventInterface { createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String! } """ Autogenerated input type of FixFailedPayment """ input CommerceFixFailedPaymentInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String creditCardId: String! offerId: ID orderId: ID } """ Autogenerated return type of FixFailedPayment. """ type CommerceFixFailedPaymentPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ A union of success/failure """ orderOrError: CommerceOrderOrFailureUnion! } """ Autogenerated input type of FulfillAtOnce """ input CommerceFulfillAtOnceInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String fulfillment: CommerceFulfillmentAttributes! id: ID! } """ Autogenerated return type of FulfillAtOnce. """ type CommerceFulfillAtOncePayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ A union of success/failure """ orderOrError: CommerceOrderOrFailureUnion! } """ A Fulfillment for an order """ type CommerceFulfillment { courier: String! createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String! estimatedDelivery( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String! id: ID! internalID: ID! notes: String trackingId: String updatedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String! } """ Attributes of a Fulfillment """ input CommerceFulfillmentAttributes { courier: String! estimatedDelivery: CommerceDate notes: String trackingId: String } """ The connection type for Fulfillment. """ type CommerceFulfillmentConnection { """ A list of edges. """ edges: [CommerceFulfillmentEdge] """ A list of nodes. """ nodes: [CommerceFulfillment] """ Information to aid in pagination. """ pageInfo: CommercePageInfo! } """ An edge in a connection. """ type CommerceFulfillmentEdge { """ A cursor for use in pagination. """ cursor: String! """ The item at the end of the edge. """ node: CommerceFulfillment } """ A Line Item """ type CommerceLineItem { artwork: Artwork artworkId: String! artworkOrEditionSet: ArtworkOrEditionSetType artworkVersion: ArtworkVersion artworkVersionId: String! commissionFee( decimal: String = "." format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String commissionFeeCents: Int createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String! editionSetId: String fulfillments( """ Returns the elements in the list that come after the specified cursor. """ after: String """ Returns the elements in the list that come before the specified cursor. """ before: String """ Returns the first _n_ elements from the list. """ first: Int """ Returns the last _n_ elements from the list. """ last: Int ): CommerceFulfillmentConnection id: ID! internalID: ID! listPrice( decimal: String = "." format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String listPriceCents: Int! order: CommerceOrder! partnerOfferId: String priceCents: Int! @deprecated(reason: "switch to use listPriceCents") quantity: Int! selectedShippingQuote: CommerceShippingQuote shipment: CommerceShipment shippingQuoteOptions( """ Returns the elements in the list that come after the specified cursor. """ after: String """ Returns the elements in the list that come before the specified cursor. """ before: String """ Returns the first _n_ elements from the list. """ first: Int """ Returns the last _n_ elements from the list. """ last: Int ): CommerceShippingQuoteConnection shippingTotal( decimal: String = "." format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String shippingTotalCents: Int updatedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String! } """ The connection type for LineItem. """ type CommerceLineItemConnection { """ A list of edges. """ edges: [CommerceLineItemEdge] """ A list of nodes. """ nodes: [CommerceLineItem] """ Information to aid in pagination. """ pageInfo: CommercePageInfo! } """ An edge in a connection. """ type CommerceLineItemEdge { """ A cursor for use in pagination. """ cursor: String! """ The item at the end of the edge. """ node: CommerceLineItem } """ An Offer """ type CommerceOffer { amount( decimal: String = "." format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String amountCents: Int! buyerTotal( decimal: String = "." format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String buyerTotalCents: Int createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String! creatorId: String! currencyCode: String! """ True when this offer fills in the missing fees from the previous one """ definesTotal: Boolean! from: CommerceOrderPartyUnion! fromDetails: OrderParty fromParticipant: CommerceOrderParticipantEnum """ True when a all the fees (shipping/tax) were calculated for the offer """ hasDefiniteTotal: Boolean! id: ID! internalID: ID! note: String """ Only false when previous offer has the same amount. """ offerAmountChanged: Boolean! order: CommerceOrder! respondsTo: CommerceOffer shippingTotal( decimal: String = "." format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String shippingTotalCents: Int submittedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String taxTotal( decimal: String = "." format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String taxTotalCents: Int } """ The connection type for Offer. """ type CommerceOfferConnection { """ A list of edges. """ edges: [CommerceOfferEdge] """ A list of nodes. """ nodes: [CommerceOffer] """ Information to aid in pagination. """ pageInfo: CommercePageInfo! } """ An edge in a connection. """ type CommerceOfferEdge { """ A cursor for use in pagination. """ cursor: String! """ The item at the end of the edge. """ node: CommerceOffer } type CommerceOfferOrder implements CommerceOrder { """ Whether Artsy collects taxes (e.g., sales tax or VAT) on this order. """ artsyCollectsTaxes: Boolean artsyRemitsTaxes: Boolean artsyTotal( decimal: String = "." format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String artsyTotalCents: Int artworkDetails: String availablePaymentMethods: [CommercePaymentMethodEnum!]! awaitingResponseFrom: CommerceOrderParticipantEnum bankAccountId: String buyer: CommerceOrderPartyUnion! """ Type of action buyer needs to perform in response to the offer """ buyerAction: CommerceBuyerOfferActionEnum buyerDetails: OrderParty buyerPhoneNumber: String buyerPhoneNumberCountryCode: String buyerProfile: CollectorProfileType buyerTotal( decimal: String = "." format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String buyerTotalCents: Int code: String! commissionFee( decimal: String = "." format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String commissionFeeCents: Int commissionRate: Float conditionsOfSale: String conversation: Conversation createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String! creditCard: CreditCard creditCardId: String creditCardWalletType: String currencyCode: String! displayCommissionRate: String displayState: CommerceOrderDisplayStateEnum! id: ID! impulseConversationId: String internalID: ID! isInquiryOrder: Boolean! itemsTotal( decimal: String = "." format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String """ Item total in cents, for Offer Orders this field reflects current offer """ itemsTotalCents: Int lastApprovedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ Last submitted offer """ lastOffer: CommerceOffer lastSubmittedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String lastTransactionFailed: Boolean lastTransactionFailureCode: String lineItems( """ Returns the elements in the list that come after the specified cursor. """ after: String """ Returns the elements in the list that come before the specified cursor. """ before: String """ Returns the first _n_ elements from the list. """ first: Int """ Returns the last _n_ elements from the list. """ last: Int ): CommerceLineItemConnection mode: CommerceOrderModeEnum myLastOffer: CommerceOffer offerTotal( decimal: String = "." format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String offers( """ Returns the elements in the list that come after the specified cursor. """ after: String """ Returns the elements in the list that come before the specified cursor. """ before: String """ Returns the first _n_ elements from the list. """ first: Int fromId: String fromType: String """ Returns the last _n_ elements from the list. """ last: Int ): CommerceOfferConnection orderHistory: [CommerceOrderEventUnion!]! orderUpdateState: String paymentMethod: CommercePaymentMethodEnum paymentMethodDetails: PaymentMethodUnion paymentSet: Boolean! requestedFulfillment: CommerceRequestedFulfillmentUnion """ Whether the buyer needs to complete identity verification to make this purchase. """ requireIdentityVerification: Boolean! seller: CommerceOrderPartyUnion! sellerDetails: OrderParty sellerTotal( decimal: String = "." format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String sellerTotalCents: Int shippingRadius: String shippingTotal( decimal: String = "." format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String shippingTotalCents: Int source: CommerceOrderSourceEnum! state: CommerceOrderStateEnum! stateExpiresAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String stateReason: String stateUpdatedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String stripeConfirmationToken: String taxTotal( decimal: String = "." format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String taxTotalCents: Int taxTypes: [CommerceTaxTypeEnum!]! totalListPrice( decimal: String = "." format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String totalListPriceCents: Int! transactionFee( decimal: String = "." format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String transactionFeeCents: Int updatedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String! } type CommerceOfferSubmittedEvent implements CommerceEventInterface { createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String! offer: CommerceOffer! } type CommerceOptInFailure { mutationError: GravityMutationError } input CommerceOptInMutationInput { """ Opt artwork into Artsy Shipping Domestic """ artsyShippingDomestic: Boolean """ whether or not there is a CoA """ certificateOfAuthenticity: Boolean clientMutationId: String """ whether or not the CoA is by an authenticating body """ coaByAuthenticatingBody: Boolean """ whether or not the CoA is by the gallery """ coaByGallery: Boolean """ whether or not the artwork is set to exact price """ exactPrice: Boolean """ whether or not it is framed """ framed: Boolean """ ID of the partner """ id: String! """ The partner location ID to assign """ locationId: String """ whether or not it is not signed """ notSigned: Boolean """ whether or not pick up it is pick up available """ pickupAvailable: Boolean """ whether or not it is signed """ signedByArtist: Boolean """ whether or not it is signed in plate """ signedInPlate: Boolean """ whether or not other is selected for signature """ signedOther: Boolean """ Source of the mutation being triggered, E.g. admin, artworks_list """ source: BulkUpdateSourceEnum """ whether or not it is stamped by the artist estate """ stampedByArtistEstate: Boolean """ whether or not it has a sticker label """ stickerLabel: Boolean } type CommerceOptInMutationPayload { clientMutationId: String commerceOptInMutationOrError: CommerceOptInMutationType } union CommerceOptInMutationType = CommerceOptInFailure | CommerceOptInSuccess type CommerceOptInReportFailure { mutationError: GravityMutationError } input CommerceOptInReportMutationInput { """ Opt artwork into Artsy Shipping Domestic """ artsyShippingDomestic: Boolean """ whether it should be updated to CoA """ certificateOfAuthenticity: Boolean clientMutationId: String """ whether or not the CoA is by an authenticating body """ coaByAuthenticatingBody: Boolean """ whether or not the CoA is by the gallery """ coaByGallery: Boolean """ whether the report will contain data for eligible or non-eligible artworks. """ eligible: Boolean """ whether or not the artworks should be set to exact price """ exactPrice: Boolean """ whether or not it should be set to framed """ framed: Boolean """ ID of the partner """ id: String! """ The partner location ID to assign """ locationId: String """ whether or not it is not signed """ notSigned: Boolean """ whether or not pick up should be available """ pickupAvailable: Boolean """ whether or not it is signed """ signedByArtist: Boolean """ whether or not it is signed in plate """ signedInPlate: Boolean """ whether or not other is selected for signature """ signedOther: Boolean """ whether or not it is stamped by the artist estate """ stampedByArtistEstate: Boolean """ whether or not it has a sticker label """ stickerLabel: Boolean } type CommerceOptInReportMutationPayload { clientMutationId: String commerceOptInReportMutationOrError: CommerceOptInReportMutationType } union CommerceOptInReportMutationType = CommerceOptInReportFailure | CommerceOptInReportSuccess type CommerceOptInReportResponse { message: String } type CommerceOptInReportSuccess { createdCommerceOptInReport: CommerceOptInReportResponse } type CommerceOptInResponse { count: Int ids: [String] } type CommerceOptInSuccess { updatedCommerceOptIn: CommerceOptInResponse } """ Order """ interface CommerceOrder { """ Whether Artsy collects taxes (e.g., sales tax or VAT) on this order. """ artsyCollectsTaxes: Boolean artsyRemitsTaxes: Boolean artsyTotal( decimal: String = "." format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String artsyTotalCents: Int artworkDetails: String availablePaymentMethods: [CommercePaymentMethodEnum!]! bankAccountId: String buyer: CommerceOrderPartyUnion! buyerDetails: OrderParty buyerPhoneNumber: String buyerPhoneNumberCountryCode: String buyerProfile: CollectorProfileType buyerTotal( decimal: String = "." format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String buyerTotalCents: Int code: String! commissionFee( decimal: String = "." format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String commissionFeeCents: Int commissionRate: Float conditionsOfSale: String createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String! creditCard: CreditCard creditCardId: String creditCardWalletType: String currencyCode: String! displayCommissionRate: String displayState: CommerceOrderDisplayStateEnum! id: ID! impulseConversationId: String internalID: ID! itemsTotal( decimal: String = "." format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String """ Item total in cents, for Offer Orders this field reflects current offer """ itemsTotalCents: Int lastApprovedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String lastSubmittedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String lastTransactionFailed: Boolean lastTransactionFailureCode: String lineItems( """ Returns the elements in the list that come after the specified cursor. """ after: String """ Returns the elements in the list that come before the specified cursor. """ before: String """ Returns the first _n_ elements from the list. """ first: Int """ Returns the last _n_ elements from the list. """ last: Int ): CommerceLineItemConnection mode: CommerceOrderModeEnum orderHistory: [CommerceOrderEventUnion!]! orderUpdateState: String paymentMethod: CommercePaymentMethodEnum paymentMethodDetails: PaymentMethodUnion paymentSet: Boolean! requestedFulfillment: CommerceRequestedFulfillmentUnion """ Whether the buyer needs to complete identity verification to make this purchase. """ requireIdentityVerification: Boolean! seller: CommerceOrderPartyUnion! sellerDetails: OrderParty sellerTotal( decimal: String = "." format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String sellerTotalCents: Int shippingRadius: String shippingTotal( decimal: String = "." format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String shippingTotalCents: Int source: CommerceOrderSourceEnum! state: CommerceOrderStateEnum! stateExpiresAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String stateReason: String stateUpdatedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String stripeConfirmationToken: String taxTotal( decimal: String = "." format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String taxTotalCents: Int taxTypes: [CommerceTaxTypeEnum!]! totalListPrice( decimal: String = "." format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String totalListPriceCents: Int! transactionFee( decimal: String = "." format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String transactionFeeCents: Int updatedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String! } """ Order Action data """ type CommerceOrderActionData { clientSecret: String! } enum CommerceOrderConnectionFilterEnum { """ payment failure preventing order from processing further """ PAYMENT_FAILED } """ Fields to sort by """ enum CommerceOrderConnectionSortEnum { """ Sort by the timestamp the state of the order expires at in ascending order """ STATE_EXPIRES_AT_ASC """ Sort by the timestamp the state of the order expires at in descending order """ STATE_EXPIRES_AT_DESC """ Sort by the timestamp the state of order was last updated in ascending order """ STATE_UPDATED_AT_ASC """ Sort by the timestamp the state of order was last updated in descending order """ STATE_UPDATED_AT_DESC """ Sort by the timestamp the order was last updated in ascending order """ UPDATED_AT_ASC """ Sort by the timestamp the order was last updated in descending order """ UPDATED_AT_DESC } """ The connection type for Order. """ type CommerceOrderConnectionWithTotalCount { """ A list of edges. """ edges: [CommerceOrderEdge] """ A list of nodes. """ nodes: [CommerceOrder] pageCursors: CommercePageCursors """ Information to aid in pagination. """ pageInfo: CommercePageInfo! totalCount: Int totalPages: Int } enum CommerceOrderDisplayStateEnum { """ order is abandoned by buyer and never submitted """ ABANDONED """ order is approved by seller """ APPROVED """ order is canceled """ CANCELED """ order is fulfilled by seller """ FULFILLED """ order has been collected and is with shipper """ IN_TRANSIT """ order is submitted by buyer but payment processing failed """ PAYMENT_FAILED """ order is still pending submission by buyer """ PENDING """ order is approved but not yet sent out """ PROCESSING """ order approval is processing and will be updated when complete """ PROCESSING_APPROVAL """ order is refunded after being approved or fulfilled """ REFUNDED """ order is submitted by buyer """ SUBMITTED } """ An edge in a connection. """ type CommerceOrderEdge { """ A cursor for use in pagination. """ cursor: String! """ The item at the end of the edge. """ node: CommerceOrder } type CommerceOrderError { requestError: RequestError } """ Represents either a state change or new offer """ union CommerceOrderEventUnion = CommerceOfferSubmittedEvent | CommerceOrderStateChangedEvent enum CommerceOrderFulfillmentTypeEnum { """ fulfillment type is: pickup """ PICKUP """ fulfillment type is: ship """ SHIP """ fulfillment type is: ship_arta """ SHIP_ARTA } enum CommerceOrderModeEnum { """ Buy Order """ BUY """ Offer Order """ OFFER } """ Represents either a resolved Order or a potential failure """ union CommerceOrderOrFailureUnion = CommerceOrderRequiresAction | CommerceOrderWithMutationFailure | CommerceOrderWithMutationSuccess enum CommerceOrderParticipantEnum { """ Participant on the buyer side """ BUYER """ Participant on the seller side """ SELLER } """ Represents either a partner or a user """ union CommerceOrderPartyUnion = CommercePartner | CommerceUser """ Data reflecting actions required """ type CommerceOrderRequiresAction { """ Data related to action needed """ actionData: CommerceOrderActionData! } union CommerceOrderResult = CommerceBuyOrder | CommerceOfferOrder | CommerceOrderError enum CommerceOrderSourceEnum { """ The order was originated on the artwork page """ artwork_page """ The order was originated on a conversation """ inquiry """ The order was originated from a partner offer """ partner_offer """ The order was originated from a private sale """ private_sale } type CommerceOrderStateChangedEvent implements CommerceEventInterface { createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String! orderUpdateState: String state: CommerceOrderStateEnum! stateReason: String } enum CommerceOrderStateEnum { """ order is abandoned by buyer and never submitted """ ABANDONED """ order is approved by seller """ APPROVED """ order is canceled """ CANCELED """ order is fulfilled by seller """ FULFILLED """ order is undergoing review by Artsy admins """ IN_REVIEW """ order is still pending submission by buyer """ PENDING """ order approval is processing and will be updated when complete """ PROCESSING_APPROVAL """ order is refunded after being approved or fulfilled """ REFUNDED """ order is submitted by buyer """ SUBMITTED } """ An error response for changes to an order """ type CommerceOrderWithMutationFailure { error: CommerceApplicationError! } """ A successfully returned order type """ type CommerceOrderWithMutationSuccess { order: CommerceOrder! } type CommercePageCursor { """ first cursor on the page """ cursor: String! """ is this the current page? """ isCurrent: Boolean! """ page number out of totalPages """ page: Int! } type CommercePageCursors { around: [CommercePageCursor!]! """ optional, may be included in field around """ first: CommercePageCursor """ optional, may be included in field around """ last: CommercePageCursor previous: CommercePageCursor } """ Information about pagination in a connection. """ type CommercePageInfo { """ When paginating forwards, the cursor to continue. """ endCursor: String """ When paginating forwards, are there more items? """ hasNextPage: Boolean! """ When paginating backwards, are there more items? """ hasPreviousPage: Boolean! """ When paginating backwards, the cursor to continue. """ startCursor: String } type CommercePartner { id: String! type: String! } enum CommercePaymentMethodEnum { """ Credit Card """ CREDIT_CARD """ SEPA """ SEPA_DEBIT """ US Bank Account """ US_BANK_ACCOUNT """ Wire Transfer """ WIRE_TRANSFER } type CommercePickup { fulfillmentType: String! phoneNumber: String } """ Represents either a shipping information or pickup """ union CommerceRequestedFulfillmentUnion = CommercePickup | CommerceShip | CommerceShipArta """ Autogenerated input type of SelectShippingOption """ input CommerceSelectShippingOptionInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String id: ID! selectedShippingQuoteId: ID! } """ Autogenerated return type of SelectShippingOption. """ type CommerceSelectShippingOptionPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ A union of success/failure """ orderOrError: CommerceOrderOrFailureUnion! } """ Autogenerated input type of SellerAcceptOffer """ input CommerceSellerAcceptOfferInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String offerId: ID! shippingContact: CommerceShippingContactAttributes } """ Autogenerated return type of SellerAcceptOffer. """ type CommerceSellerAcceptOfferPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ A union of success/failure """ orderOrError: CommerceOrderOrFailureUnion! } """ Autogenerated input type of SellerAcceptProvisionalOffer """ input CommerceSellerAcceptProvisionalOfferInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String offerId: ID! """ Shipping info belonging to this specific order. It overrides the defined shipping costs of the artwork. """ shippingTotalCents: Int } """ Autogenerated return type of SellerAcceptProvisionalOffer. """ type CommerceSellerAcceptProvisionalOfferPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ A union of success/failure """ orderOrError: CommerceOrderOrFailureUnion! } """ Autogenerated input type of SellerCounterOffer """ input CommerceSellerCounterOfferInput { amountCents: Int! """ A unique identifier for the client performing the mutation. """ clientMutationId: String note: String offerId: ID! shippingContact: CommerceShippingContactAttributes """ Shipping info belonging to this specific order. It overrides the defined shipping costs of the artwork. """ shippingTotalCents: Int } """ Autogenerated return type of SellerCounterOffer. """ type CommerceSellerCounterOfferPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ A union of success/failure """ orderOrError: CommerceOrderOrFailureUnion! } """ Autogenerated input type of SellerRejectOffer """ input CommerceSellerRejectOfferInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String offerId: ID! rejectReason: CommerceCancelReasonTypeEnum } """ Autogenerated return type of SellerRejectOffer. """ type CommerceSellerRejectOfferPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ A union of success/failure """ orderOrError: CommerceOrderOrFailureUnion! } """ Autogenerated input type of SetPaymentByStripeIntent """ input CommerceSetPaymentByStripeIntentInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String id: ID! oneTimeUse: Boolean = false setupIntentId: String! } """ Autogenerated return type of SetPaymentByStripeIntent. """ type CommerceSetPaymentByStripeIntentPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ A union of success/failure """ orderOrError: CommerceOrderOrFailureUnion! } """ Autogenerated input type of SetPayment """ input CommerceSetPaymentInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String id: ID! paymentMethod: CommercePaymentMethodEnum! paymentMethodId: String } """ Autogenerated return type of SetPayment. """ type CommerceSetPaymentPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ A union of success/failure """ orderOrError: CommerceOrderOrFailureUnion! } """ Autogenerated input type of SetShipping """ input CommerceSetShippingInput { addressVerifiedBy: CommerceShippingAddressVerifiedByEnum """ A unique identifier for the client performing the mutation. """ clientMutationId: String fulfillmentType: CommerceOrderFulfillmentTypeEnum! id: ID! phoneNumber: String phoneNumberCountryCode: String shipping: CommerceShippingAttributes } """ Autogenerated return type of SetShipping. """ type CommerceSetShippingPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ A union of success/failure """ orderOrError: CommerceOrderOrFailureUnion! } type CommerceShip { addressLine1: String addressLine2: String city: String country: String name: String phoneNumber: String postalCode: String region: String } type CommerceShipArta { addressLine1: String addressLine2: String city: String country: String name: String phoneNumber: String postalCode: String region: String } """ A shipment """ type CommerceShipment { bookedAt: String carrierName: String contactEmail: String contactName: String contactPhone: String createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String! deliveryEnd( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String deliveryStart( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String deliveryWindowModifier: String eeiFormStatus: CommerceEeiFormStatusEnum estimatedDeliveryWindow: String estimatedPickupWindow: String id: ID! labelUrl: String pickupEnd( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String pickupStart( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String pickupWindowModifier: String priceCents: Int! priceCurrency: String! status: String trackingNumber: String trackingUrl: String updatedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String! } enum CommerceShippingAddressVerifiedByEnum { """ Address was verified by ARTSY """ ARTSY """ Address was verified by the user """ USER } """ Shipping information """ input CommerceShippingAttributes { addressLine1: String addressLine2: String city: String country: String name: String phoneNumber: String postalCode: String region: String } """ Shipping contact information """ input CommerceShippingContactAttributes { email: String! name: String! phone: String! } """ A shipping quote """ type CommerceShippingQuote { createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String! currencyCode: String! displayName: String! id: ID! isSelected: Boolean! name: String price( decimal: String = "." format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String priceCents: Int! priceCurrency: String! tier: String! typeName: String! updatedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String! } """ The connection type for ShippingQuote. """ type CommerceShippingQuoteConnection { """ A list of edges. """ edges: [CommerceShippingQuoteEdge] """ A list of nodes. """ nodes: [CommerceShippingQuote] """ Information to aid in pagination. """ pageInfo: CommercePageInfo! } """ An edge in a connection. """ type CommerceShippingQuoteEdge { """ A cursor for use in pagination. """ cursor: String! """ The item at the end of the edge. """ node: CommerceShippingQuote } """ Autogenerated input type of SubmitOrder """ input CommerceSubmitOrderInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String id: ID! } """ Autogenerated return type of SubmitOrder. """ type CommerceSubmitOrderPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ A union of success/failure """ orderOrError: CommerceOrderOrFailureUnion! } """ Autogenerated input type of SubmitOrderWithOffer """ input CommerceSubmitOrderWithOfferInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String confirmedSetupIntentId: String offerId: ID! } """ Autogenerated return type of SubmitOrderWithOffer. """ type CommerceSubmitOrderWithOfferPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ A union of success/failure """ orderOrError: CommerceOrderOrFailureUnion! } """ Autogenerated input type of SubmitPendingOffer """ input CommerceSubmitPendingOfferInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String offerId: ID! } """ Autogenerated return type of SubmitPendingOffer. """ type CommerceSubmitPendingOfferPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ A union of success/failure """ orderOrError: CommerceOrderOrFailureUnion! } enum CommerceTaxTypeEnum { """ U.S. sales tax. """ SALES_TAX """ Value-added tax. """ VAT } """ Autogenerated input type of UpdateImpulseConversationId """ input CommerceUpdateImpulseConversationIdInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String impulseConversationId: String! orderId: ID! } """ Autogenerated return type of UpdateImpulseConversationId. """ type CommerceUpdateImpulseConversationIdPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ A union of success/failure """ orderOrError: CommerceOrderOrFailureUnion! } type CommerceUser { id: String! } type CompleteInstagramOAuthFailure { mutationError: GravityMutationError } input CompleteInstagramOAuthInput { clientMutationId: String """ The OAuth authorization code returned by Instagram """ code: String! """ The OAuth redirect URI (must match the one used during initiation) """ redirectUri: String! """ The OAuth state parameter returned by Instagram """ state: String! } type CompleteInstagramOAuthPayload { clientMutationId: String """ On success: the connected Instagram account """ instagramAccountOrError: CompleteInstagramOAuthResponseOrError } union CompleteInstagramOAuthResponseOrError = CompleteInstagramOAuthFailure | CompleteInstagramOAuthSuccess type CompleteInstagramOAuthSuccess { instagramAccount: InstagramAccount } type CompleteMailchimpOAuthFailure { mutationError: GravityMutationError } input CompleteMailchimpOAuthInput { clientMutationId: String """ The OAuth authorization code returned by Mailchimp """ code: String! """ The OAuth redirect URI (must match the one used during initiation) """ redirectUri: String! """ The OAuth state parameter returned by Mailchimp """ state: String! } type CompleteMailchimpOAuthPayload { clientMutationId: String """ On success: the connected Mailchimp account """ mailchimpAccountOrError: CompleteMailchimpOAuthResponseOrError } union CompleteMailchimpOAuthResponseOrError = CompleteMailchimpOAuthFailure | CompleteMailchimpOAuthSuccess type CompleteMailchimpOAuthSuccess { mailchimpAccount: MailchimpAccount } type ConditionReportRequest { internalID: ID! saleArtworkID: ID userID: ID } input ConfirmPasswordInput { clientMutationId: String password: String! } type ConfirmPasswordPayload { clientMutationId: String valid: Boolean! } type ConfirmationToken { paymentMethodPreview: PaymentMethodPreview! } """ Consignment """ type Consignment { currency: String """ Uniq ID for this consignment """ id: ID! internalID: ID saleDate: String saleName: String salePriceCents: Int state: ConsignmentState submission: ConsignmentSubmission! submissionID: ID submissionId: ID! } enum ConsignmentAttributionClass { LIMITED_EDITION OPEN_EDITION UNIQUE UNKNOWN_EDITION } """ The connection type for Consignment. """ type ConsignmentConnection { """ A list of edges. """ edges: [ConsignmentEdge] """ A list of nodes. """ nodes: [Consignment] pageCursors: ConsignmentPageCursors """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int totalPages: Int } """ An edge in a connection. """ type ConsignmentEdge { """ A cursor for use in pagination. """ cursor: String! """ The item at the end of the edge. """ node: Consignment } type ConsignmentInquiry { """ Email of inquirer """ email: String! """ id of the ConsignmentInquiry """ internalID: Int! """ Message of the inquirer """ message: String! """ Name of the inquirer """ name: String! """ Phone number of the inquirer """ phoneNumber: String """ An optional email from a member of the Collector Services team to whom the request was sent """ recipientEmail: String """ gravity user id if user is logged in """ userId: String } type ConsignmentInquiryMutationError { error: String message: String! statusCode: Int type: String } type ConsignmentInquiryMutationFailure { mutationError: ConsignmentInquiryMutationError } type ConsignmentInquiryMutationSuccess { consignmentInquiry: ConsignmentInquiry } """ Consignment Offer """ type ConsignmentOffer { commissionPercentWhole: Int createdAt: ISO8601DateTime createdById: ID currency: String deadlineToConsign: String highEstimateAmount( decimal: String = "." format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String highEstimateCents: Int """ Uniq ID for this offer """ id: ID! insuranceInfo: String lowEstimateAmount( decimal: String = "." format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String lowEstimateCents: Int notes: String offerType: String otherFeesInfo: String partnerInfo: String photographyInfo: String saleDate: String saleLocation: String saleName: String shippingInfo: String startingBidCents: Int state: String submission: ConsignmentSubmission! } """ The connection type for Offer. """ type ConsignmentOfferConnection { """ A list of edges. """ edges: [ConsignmentOfferEdge] """ A list of nodes. """ nodes: [ConsignmentOffer] pageCursors: ConsignmentPageCursors """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int totalPages: Int } """ An edge in a connection. """ type ConsignmentOfferEdge { """ A cursor for use in pagination. """ cursor: String! """ The item at the end of the edge. """ node: ConsignmentOffer } enum ConsignmentOfferSort { """ sort by commission_percent in ascending order """ COMMISSION_PERCENT_ASC """ sort by commission_percent in descending order """ COMMISSION_PERCENT_DESC """ sort by consigned_at in ascending order """ CONSIGNED_AT_ASC """ sort by consigned_at in descending order """ CONSIGNED_AT_DESC """ sort by created_at in ascending order """ CREATED_AT_ASC """ sort by created_at in descending order """ CREATED_AT_DESC """ sort by created_by_id in ascending order """ CREATED_BY_ID_ASC """ sort by created_by_id in descending order """ CREATED_BY_ID_DESC """ sort by currency in ascending order """ CURRENCY_ASC """ sort by currency in descending order """ CURRENCY_DESC """ sort by deadline_to_consign in ascending order """ DEADLINE_TO_CONSIGN_ASC """ sort by deadline_to_consign in descending order """ DEADLINE_TO_CONSIGN_DESC """ sort by high_estimate_cents in ascending order """ HIGH_ESTIMATE_CENTS_ASC """ sort by high_estimate_cents in descending order """ HIGH_ESTIMATE_CENTS_DESC """ sort by id in ascending order """ ID_ASC """ sort by id in descending order """ ID_DESC """ sort by insurance_info in ascending order """ INSURANCE_INFO_ASC """ sort by insurance_info in descending order """ INSURANCE_INFO_DESC """ sort by low_estimate_cents in ascending order """ LOW_ESTIMATE_CENTS_ASC """ sort by low_estimate_cents in descending order """ LOW_ESTIMATE_CENTS_DESC """ sort by notes in ascending order """ NOTES_ASC """ sort by notes in descending order """ NOTES_DESC """ sort by offer_responses_count in ascending order """ OFFER_RESPONSES_COUNT_ASC """ sort by offer_responses_count in descending order """ OFFER_RESPONSES_COUNT_DESC """ sort by offer_type in ascending order """ OFFER_TYPE_ASC """ sort by offer_type in descending order """ OFFER_TYPE_DESC """ sort by other_fees_info in ascending order """ OTHER_FEES_INFO_ASC """ sort by other_fees_info in descending order """ OTHER_FEES_INFO_DESC """ sort by override_email in ascending order """ OVERRIDE_EMAIL_ASC """ sort by override_email in descending order """ OVERRIDE_EMAIL_DESC """ sort by partner_info in ascending order """ PARTNER_INFO_ASC """ sort by partner_info in descending order """ PARTNER_INFO_DESC """ sort by partner_submission_id in ascending order """ PARTNER_SUBMISSION_ID_ASC """ sort by partner_submission_id in descending order """ PARTNER_SUBMISSION_ID_DESC """ sort by photography_info in ascending order """ PHOTOGRAPHY_INFO_ASC """ sort by photography_info in descending order """ PHOTOGRAPHY_INFO_DESC """ sort by price_cents in ascending order """ PRICE_CENTS_ASC """ sort by price_cents in descending order """ PRICE_CENTS_DESC """ sort by reference_id in ascending order """ REFERENCE_ID_ASC """ sort by reference_id in descending order """ REFERENCE_ID_DESC """ sort by rejected_at in ascending order """ REJECTED_AT_ASC """ sort by rejected_at in descending order """ REJECTED_AT_DESC """ sort by rejected_by in ascending order """ REJECTED_BY_ASC """ sort by rejected_by in descending order """ REJECTED_BY_DESC """ sort by rejection_note in ascending order """ REJECTION_NOTE_ASC """ sort by rejection_note in descending order """ REJECTION_NOTE_DESC """ sort by rejection_reason in ascending order """ REJECTION_REASON_ASC """ sort by rejection_reason in descending order """ REJECTION_REASON_DESC """ sort by review_started_at in ascending order """ REVIEW_STARTED_AT_ASC """ sort by review_started_at in descending order """ REVIEW_STARTED_AT_DESC """ sort by sale_date in ascending order """ SALE_DATE_ASC """ sort by sale_date in descending order """ SALE_DATE_DESC """ sort by sale_location in ascending order """ SALE_LOCATION_ASC """ sort by sale_location in descending order """ SALE_LOCATION_DESC """ sort by sale_name in ascending order """ SALE_NAME_ASC """ sort by sale_name in descending order """ SALE_NAME_DESC """ sort by sale_period_end in ascending order """ SALE_PERIOD_END_ASC """ sort by sale_period_end in descending order """ SALE_PERIOD_END_DESC """ sort by sale_period_start in ascending order """ SALE_PERIOD_START_ASC """ sort by sale_period_start in descending order """ SALE_PERIOD_START_DESC """ sort by sent_at in ascending order """ SENT_AT_ASC """ sort by sent_at in descending order """ SENT_AT_DESC """ sort by sent_by in ascending order """ SENT_BY_ASC """ sort by sent_by in descending order """ SENT_BY_DESC """ sort by shipping_info in ascending order """ SHIPPING_INFO_ASC """ sort by shipping_info in descending order """ SHIPPING_INFO_DESC """ sort by starting_bid_cents in ascending order """ STARTING_BID_CENTS_ASC """ sort by starting_bid_cents in descending order """ STARTING_BID_CENTS_DESC """ sort by state in ascending order """ STATE_ASC """ sort by state in descending order """ STATE_DESC """ sort by submission_id in ascending order """ SUBMISSION_ID_ASC """ sort by submission_id in descending order """ SUBMISSION_ID_DESC """ sort by updated_at in ascending order """ UPDATED_AT_ASC """ sort by updated_at in descending order """ UPDATED_AT_DESC } type ConsignmentPageCursor { """ first cursor on the page """ cursor: String! """ is this the current page? """ isCurrent: Boolean! """ page number out of totalPages """ page: Int! } type ConsignmentPageCursors { around: [ConsignmentPageCursor!]! """ optional, may be included in field around """ first: ConsignmentPageCursor """ optional, may be included in field around """ last: ConsignmentPageCursor previous: ConsignmentPageCursor } enum ConsignmentSort { """ sort by accepted_offer_id in ascending order """ ACCEPTED_OFFER_ID_ASC """ sort by accepted_offer_id in descending order """ ACCEPTED_OFFER_ID_DESC """ sort by artsy_commission_percent in ascending order """ ARTSY_COMMISSION_PERCENT_ASC """ sort by artsy_commission_percent in descending order """ ARTSY_COMMISSION_PERCENT_DESC """ sort by canceled_reason in ascending order """ CANCELED_REASON_ASC """ sort by canceled_reason in descending order """ CANCELED_REASON_DESC """ sort by created_at in ascending order """ CREATED_AT_ASC """ sort by created_at in descending order """ CREATED_AT_DESC """ sort by currency in ascending order """ CURRENCY_ASC """ sort by currency in descending order """ CURRENCY_DESC """ sort by id in ascending order """ ID_ASC """ sort by id in descending order """ ID_DESC """ sort by invoice_number in ascending order """ INVOICE_NUMBER_ASC """ sort by invoice_number in descending order """ INVOICE_NUMBER_DESC """ sort by notes in ascending order """ NOTES_ASC """ sort by notes in descending order """ NOTES_DESC """ sort by notified_at in ascending order """ NOTIFIED_AT_ASC """ sort by notified_at in descending order """ NOTIFIED_AT_DESC """ sort by partner_commission_percent in ascending order """ PARTNER_COMMISSION_PERCENT_ASC """ sort by partner_commission_percent in descending order """ PARTNER_COMMISSION_PERCENT_DESC """ sort by partner_id in ascending order """ PARTNER_ID_ASC """ sort by partner_id in descending order """ PARTNER_ID_DESC """ sort by partner_invoiced_at in ascending order """ PARTNER_INVOICED_AT_ASC """ sort by partner_invoiced_at in descending order """ PARTNER_INVOICED_AT_DESC """ sort by partner_paid_at in ascending order """ PARTNER_PAID_AT_ASC """ sort by partner_paid_at in descending order """ PARTNER_PAID_AT_DESC """ sort by reference_id in ascending order """ REFERENCE_ID_ASC """ sort by reference_id in descending order """ REFERENCE_ID_DESC """ sort by sale_date in ascending order """ SALE_DATE_ASC """ sort by sale_date in descending order """ SALE_DATE_DESC """ sort by sale_location in ascending order """ SALE_LOCATION_ASC """ sort by sale_location in descending order """ SALE_LOCATION_DESC """ sort by sale_lot_number in ascending order """ SALE_LOT_NUMBER_ASC """ sort by sale_lot_number in descending order """ SALE_LOT_NUMBER_DESC """ sort by sale_name in ascending order """ SALE_NAME_ASC """ sort by sale_name in descending order """ SALE_NAME_DESC """ sort by sale_price_cents in ascending order """ SALE_PRICE_CENTS_ASC """ sort by sale_price_cents in descending order """ SALE_PRICE_CENTS_DESC """ sort by state in ascending order """ STATE_ASC """ sort by state in descending order """ STATE_DESC """ sort by submission_id in ascending order """ SUBMISSION_ID_ASC """ sort by submission_id in descending order """ SUBMISSION_ID_DESC """ sort by updated_at in ascending order """ UPDATED_AT_ASC """ sort by updated_at in descending order """ UPDATED_AT_DESC } enum ConsignmentState { BOUGHT_IN CANCELLED OPEN SOLD } """ Consignment Submission """ type ConsignmentSubmission { additionalInfo: String artist: Artist artistId: String! assets(assetType: [AssetType!] = []): [ConsignmentSubmissionCategoryAsset] attributionClass: ConsignmentAttributionClass authenticityCertificate: Boolean category: String createdAt: ISO8601DateTime currency: String depth: String dimensionsMetric: String edition: String editionNumber: String editionSize: String """ UUID visible to users """ externalId: ID! height: String """ Uniq ID for this submission """ id: ID! internalID: ID locationAddress: String locationAddress2: String locationCity: String locationCountry: String locationCountryCode: String locationPostalCode: String locationState: String medium: String minimumPriceDollars: Int myCollectionArtwork: Artwork myCollectionArtworkID: String offers(gravityPartnerId: ID!): [ConsignmentOffer!]! primaryImage: ConsignmentSubmissionCategoryAsset provenance: String publishedAt: ISO8601DateTime rejectionReason: String saleState: String signature: Boolean source: ConsignmentSubmissionSource """ If this artwork exists in Gravity, its ID """ sourceArtworkID: String state: ConsignmentSubmissionStateAggregation title: String userAgent: String userEmail: String userId: String! userName: String userPhone: String userPhoneNumber: PhoneNumberType utmMedium: String utmSource: String utmTerm: String width: String year: String } enum ConsignmentSubmissionCategoryAggregation { ARCHITECTURE DESIGN_DECORATIVE_ART DRAWING_COLLAGE_OR_OTHER_WORK_ON_PAPER FASHION_DESIGN_AND_WEARABLE_ART INSTALLATION JEWELRY MIXED_MEDIA OTHER PAINTING PERFORMANCE_ART PHOTOGRAPHY PRINT SCULPTURE TEXTILE_ARTS VIDEO_FILM_ANIMATION } """ Submission Asset """ type ConsignmentSubmissionCategoryAsset { """ type of this Asset """ assetType: String! """ path to document """ documentPath: String """ original image name """ filename: String """ gemini token for asset """ geminiToken: String """ Uniq ID for this asset """ id: ID! """ known image urls """ imageUrls: JSON s3Bucket: String s3Path: String size: String submissionID: ID submissionId: ID! } """ The connection type for Submission. """ type ConsignmentSubmissionConnection { """ A list of edges. """ edges: [SubmissionEdge] """ A list of nodes. """ nodes: [ConsignmentSubmission] pageCursors: ConsignmentPageCursors """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int totalPages: Int } enum ConsignmentSubmissionSort { """ sort by additional_info in ascending order """ ADDITIONAL_INFO_ASC """ sort by additional_info in descending order """ ADDITIONAL_INFO_DESC """ sort by admin_id in ascending order """ ADMIN_ID_ASC """ sort by admin_id in descending order """ ADMIN_ID_DESC """ sort by admin_receipt_sent_at in ascending order """ ADMIN_RECEIPT_SENT_AT_ASC """ sort by admin_receipt_sent_at in descending order """ ADMIN_RECEIPT_SENT_AT_DESC """ sort by approved_at in ascending order """ APPROVED_AT_ASC """ sort by approved_at in descending order """ APPROVED_AT_DESC """ sort by approved_by in ascending order """ APPROVED_BY_ASC """ sort by approved_by in descending order """ APPROVED_BY_DESC """ sort by artist_id in ascending order """ ARTIST_ID_ASC """ sort by artist_id in descending order """ ARTIST_ID_DESC """ sort by artist_proofs in ascending order """ ARTIST_PROOFS_ASC """ sort by artist_proofs in descending order """ ARTIST_PROOFS_DESC """ sort by artist_score in ascending order """ ARTIST_SCORE_ASC """ sort by artist_score in descending order """ ARTIST_SCORE_DESC """ sort by assigned_to in ascending order """ ASSIGNED_TO_ASC """ sort by assigned_to in descending order """ ASSIGNED_TO_DESC """ sort by attribution_class in ascending order """ ATTRIBUTION_CLASS_ASC """ sort by attribution_class in descending order """ ATTRIBUTION_CLASS_DESC """ sort by auction_score in ascending order """ AUCTION_SCORE_ASC """ sort by auction_score in descending order """ AUCTION_SCORE_DESC """ sort by authenticity_certificate in ascending order """ AUTHENTICITY_CERTIFICATE_ASC """ sort by authenticity_certificate in descending order """ AUTHENTICITY_CERTIFICATE_DESC """ sort by cataloguer in ascending order """ CATALOGUER_ASC """ sort by cataloguer in descending order """ CATALOGUER_DESC """ sort by category in ascending order """ CATEGORY_ASC """ sort by category in descending order """ CATEGORY_DESC """ sort by coa_by_authenticating_body in ascending order """ COA_BY_AUTHENTICATING_BODY_ASC """ sort by coa_by_authenticating_body in descending order """ COA_BY_AUTHENTICATING_BODY_DESC """ sort by coa_by_gallery in ascending order """ COA_BY_GALLERY_ASC """ sort by coa_by_gallery in descending order """ COA_BY_GALLERY_DESC """ sort by condition_report in ascending order """ CONDITION_REPORT_ASC """ sort by condition_report in descending order """ CONDITION_REPORT_DESC """ sort by consigned_partner_submission_id in ascending order """ CONSIGNED_PARTNER_SUBMISSION_ID_ASC """ sort by consigned_partner_submission_id in descending order """ CONSIGNED_PARTNER_SUBMISSION_ID_DESC """ sort by created_at in ascending order """ CREATED_AT_ASC """ sort by created_at in descending order """ CREATED_AT_DESC """ sort by currency in ascending order """ CURRENCY_ASC """ sort by currency in descending order """ CURRENCY_DESC """ sort by deadline_to_sell in ascending order """ DEADLINE_TO_SELL_ASC """ sort by deadline_to_sell in descending order """ DEADLINE_TO_SELL_DESC """ sort by deleted_at in ascending order """ DELETED_AT_ASC """ sort by deleted_at in descending order """ DELETED_AT_DESC """ sort by depth in ascending order """ DEPTH_ASC """ sort by depth in descending order """ DEPTH_DESC """ sort by dimensions_metric in ascending order """ DIMENSIONS_METRIC_ASC """ sort by dimensions_metric in descending order """ DIMENSIONS_METRIC_DESC """ sort by edition in ascending order """ EDITION_ASC """ sort by edition in descending order """ EDITION_DESC """ sort by edition_number in ascending order """ EDITION_NUMBER_ASC """ sort by edition_number in descending order """ EDITION_NUMBER_DESC """ sort by edition_size in ascending order """ EDITION_SIZE_ASC """ sort by edition_size in descending order """ EDITION_SIZE_DESC """ sort by exhibition in ascending order """ EXHIBITION_ASC """ sort by exhibition in descending order """ EXHIBITION_DESC """ sort by ext_user_id in ascending order """ EXT_USER_ID_ASC """ sort by ext_user_id in descending order """ EXT_USER_ID_DESC """ sort by height in ascending order """ HEIGHT_ASC """ sort by height in descending order """ HEIGHT_DESC """ sort by id in ascending order """ ID_ASC """ sort by id in descending order """ ID_DESC """ sort by literature in ascending order """ LITERATURE_ASC """ sort by literature in descending order """ LITERATURE_DESC """ sort by location_address2 in ascending order """ LOCATION_ADDRESS2_ASC """ sort by location_address2 in descending order """ LOCATION_ADDRESS2_DESC """ sort by location_address in ascending order """ LOCATION_ADDRESS_ASC """ sort by location_address in descending order """ LOCATION_ADDRESS_DESC """ sort by location_city in ascending order """ LOCATION_CITY_ASC """ sort by location_city in descending order """ LOCATION_CITY_DESC """ sort by location_country in ascending order """ LOCATION_COUNTRY_ASC """ sort by location_country_code in ascending order """ LOCATION_COUNTRY_CODE_ASC """ sort by location_country_code in descending order """ LOCATION_COUNTRY_CODE_DESC """ sort by location_country in descending order """ LOCATION_COUNTRY_DESC """ sort by location_postal_code in ascending order """ LOCATION_POSTAL_CODE_ASC """ sort by location_postal_code in descending order """ LOCATION_POSTAL_CODE_DESC """ sort by location_state in ascending order """ LOCATION_STATE_ASC """ sort by location_state in descending order """ LOCATION_STATE_DESC """ sort by medium in ascending order """ MEDIUM_ASC """ sort by medium in descending order """ MEDIUM_DESC """ sort by minimum_price_cents in ascending order """ MINIMUM_PRICE_CENTS_ASC """ sort by minimum_price_cents in descending order """ MINIMUM_PRICE_CENTS_DESC """ sort by my_collection_artwork_id in ascending order """ MY_COLLECTION_ARTWORK_ID_ASC """ sort by my_collection_artwork_id in descending order """ MY_COLLECTION_ARTWORK_ID_DESC """ sort by offers_count in ascending order """ OFFERS_COUNT_ASC """ sort by offers_count in descending order """ OFFERS_COUNT_DESC """ sort by primary_image_id in ascending order """ PRIMARY_IMAGE_ID_ASC """ sort by primary_image_id in descending order """ PRIMARY_IMAGE_ID_DESC """ sort by provenance in ascending order """ PROVENANCE_ASC """ sort by provenance in descending order """ PROVENANCE_DESC """ sort by published_at in ascending order """ PUBLISHED_AT_ASC """ sort by published_at in descending order """ PUBLISHED_AT_DESC """ sort by publisher in ascending order """ PUBLISHER_ASC """ sort by publisher in descending order """ PUBLISHER_DESC """ sort by qualified in ascending order """ QUALIFIED_ASC """ sort by qualified in descending order """ QUALIFIED_DESC """ sort by receipt_sent_at in ascending order """ RECEIPT_SENT_AT_ASC """ sort by receipt_sent_at in descending order """ RECEIPT_SENT_AT_DESC """ sort by rejected_at in ascending order """ REJECTED_AT_ASC """ sort by rejected_at in descending order """ REJECTED_AT_DESC """ sort by rejected_by in ascending order """ REJECTED_BY_ASC """ sort by rejected_by in descending order """ REJECTED_BY_DESC """ sort by rejection_reason in ascending order """ REJECTION_REASON_ASC """ sort by rejection_reason in descending order """ REJECTION_REASON_DESC """ sort by reminders_sent_count in ascending order """ REMINDERS_SENT_COUNT_ASC """ sort by reminders_sent_count in descending order """ REMINDERS_SENT_COUNT_DESC """ sort by session_id in ascending order """ SESSION_ID_ASC """ sort by session_id in descending order """ SESSION_ID_DESC """ sort by signature in ascending order """ SIGNATURE_ASC """ sort by signature in descending order """ SIGNATURE_DESC """ sort by signature_detail in ascending order """ SIGNATURE_DETAIL_ASC """ sort by signature_detail in descending order """ SIGNATURE_DETAIL_DESC """ sort by source_artwork_id in ascending order """ SOURCE_ARTWORK_ID_ASC """ sort by source_artwork_id in descending order """ SOURCE_ARTWORK_ID_DESC """ sort by source in ascending order """ SOURCE_ASC """ sort by source in descending order """ SOURCE_DESC """ sort by state in ascending order """ STATE_ASC """ sort by state in descending order """ STATE_DESC """ sort by title in ascending order """ TITLE_ASC """ sort by title in descending order """ TITLE_DESC """ sort by updated_at in ascending order """ UPDATED_AT_ASC """ sort by updated_at in descending order """ UPDATED_AT_DESC """ sort by user_agent in ascending order """ USER_AGENT_ASC """ sort by user_agent in descending order """ USER_AGENT_DESC """ sort by user_email in ascending order """ USER_EMAIL_ASC """ sort by user_email in descending order """ USER_EMAIL_DESC """ sort by user_id in ascending order """ USER_ID_ASC """ sort by user_id in descending order """ USER_ID_DESC """ sort by user_name in ascending order """ USER_NAME_ASC """ sort by user_name in descending order """ USER_NAME_DESC """ sort by user_phone in ascending order """ USER_PHONE_ASC """ sort by user_phone in descending order """ USER_PHONE_DESC """ sort by utm_medium in ascending order """ UTM_MEDIUM_ASC """ sort by utm_medium in descending order """ UTM_MEDIUM_DESC """ sort by utm_source in ascending order """ UTM_SOURCE_ASC """ sort by utm_source in descending order """ UTM_SOURCE_DESC """ sort by utm_term in ascending order """ UTM_TERM_ASC """ sort by utm_term in descending order """ UTM_TERM_DESC """ sort by uuid in ascending order """ UUID_ASC """ sort by uuid in descending order """ UUID_DESC """ sort by width in ascending order """ WIDTH_ASC """ sort by width in descending order """ WIDTH_DESC """ sort by year in ascending order """ YEAR_ASC """ sort by year in descending order """ YEAR_DESC } enum ConsignmentSubmissionSource { ADMIN APP_INBOUND MY_COLLECTION PARTNER WEB_INBOUND } """ Enum with all available submission states """ enum ConsignmentSubmissionStateAggregation { APPROVED CLOSED DRAFT HOLD PUBLISHED REJECTED RESUBMITTED SUBMITTED } type Contact { canContact: Boolean email: String """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! location: Location name: String phone: String position: String """ A slug ID. """ slug: ID! } """ A connection to a list of items. """ type ContactConnection { """ A list of edges. """ edges: [ContactEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type ContactEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: Contact } type ConvectionService { geminiTemplateKey: String! } """ A conversation. """ type Conversation implements Node { """ Only the artworks discussed in the conversation. """ artworks: [Artwork] buyerOutcome: String buyerOutcomeAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String collectorInterestsConnection( after: String before: String first: Int last: Int ): UserInterestConnection """ A connection of orders for artworks in this conversation from the collector's perspective. """ collectorOrdersConnection( after: String before: String first: Int last: Int page: Int size: Int ): MeOrdersConnection """ The current (collector) user's partner offers for this conversation's artwork. """ collectorPartnerOffersConnection( after: String before: String first: Int last: Int """ Filter by offer type(s). Gravity defaults to all of the user's partner offers when omitted. """ offerType: [PartnerOfferTypeEnum] page: Int size: Int ): PartnerOfferToCollectorConnection """ The collector profile of the user who initiated the conversation. Do not use this field for Partners """ collectorResume: CollectorResume createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String deletedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String dismissedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ The participant who initiated the conversation """ from: ConversationInitiator! fromLastViewedMessageAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String fromLastViewedMessageID: String """ The collector profile of the user who initiated the conversation """ fromProfile: CollectorProfileType @deprecated(reason: "Use `collectorResume` instead") """ The user who initiated the conversation """ fromUser: User @deprecated( reason: "Will be inaccessible to partners in future versions. Prefer fromProfile." ) """ A globally unique ID. """ id: ID! initialMessage: String! @deprecated( reason: "This field is no longer required. Prefer the first message from the MessageConnection." ) """ Gravity inquiry id. """ inquiryID: String """ The inquiry request associated with the conversation. """ inquiryRequest: PartnerInquiryRequest """ An optional type-specific ID. """ internalID: ID """ True if user/conversation initiator is a recipient. """ isLastMessageToUser: Boolean """ The artworks and/or partner shows discussed in the conversation. """ items: [ConversationItem] """ This is a snippet of text from the last message. """ lastMessage: String lastMessageAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ Impulse id of the last message. """ lastMessageID: String @deprecated( reason: "Prefer querying `messagesConnection(last:1) { edges { node { internalID } } }`" ) """ A connection for all messages in a single conversation """ messages( after: String before: String first: Int last: Int sort: sort ): MessageConnection @deprecated(reason: "Prefer messagesConnection") """ A connection for all messages and events in a single conversation """ messagesAndConversationEventsConnection( after: String before: String first: Int last: Int page: Int size: Int ): MessageOrConversationEventTypeConnection """ A connection for all messages in a single conversation """ messagesConnection( after: String before: String first: Int last: Int sort: sort ): MessageConnection orderConnection( after: String before: String first: Int last: Int participantType: CommerceOrderParticipantEnum sellerId: ID state: CommerceOrderStateEnum states: [CommerceOrderStateEnum!] ): CommerceOrderConnectionWithTotalCount """ Partner offers for this conversation's artwork, scoped to the user who initiated the conversation (from_id). """ partnerOffersConnection( after: String before: String first: Int last: Int """ Filter by offer type(s). Gravity defaults to bulk offers when omitted. """ offerType: [PartnerOfferTypeEnum] page: Int size: Int ): PartnerOfferConnection """ A connection of orders for artworks in this conversation from the partner's perspective. """ partnerOrdersConnection( after: String before: String first: Int last: Int page: Int size: Int ): PartnerOrdersConnection """ The participant(s) responding to the conversation """ to: ConversationResponder! toLastViewedMessageAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String toLastViewedMessageID: String """ True if there is an unread message by the Collector(from). """ unread: Boolean @deprecated(reason: "Use `unreadByCollector` instead") """ True if there is an unread message by the Collector(from). """ unreadByCollector: Boolean """ True if there is an unread message by the Partner(to). """ unreadByPartner: Boolean } """ A connection to a list of items. """ type ConversationConnection { """ A list of edges. """ edges: [ConversationEdge] """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int totalUnreadCount: Int } """ An edge in a connection. """ type ConversationEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: Conversation } """ An event (such as a submitted offer) in a conversation. """ type ConversationEvent implements Node { """ Text for this event, formatted for the buyer. """ buyerBody: String eventKey: String! """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! """ Text for this event, formatted for the seller. """ sellerBody: String } """ The participant who started the conversation, currently always a User """ type ConversationInitiator { email: String! """ A globally unique ID. """ id: ID! initials(length: Int = 3): String """ A type-specific ID likely used as a database ID. """ internalID: ID! name: String! """ The type of participant, e.g. Partner or User """ type: String! } type ConversationItem { item: ConversationItemType """ The actual, non-snapshotted artwork """ liveArtwork: ConversationItemType permalink: String title: String } union ConversationItemType = Artwork | Show input ConversationMessageAttachmentInput { id: String name: String! size: String type: String! url: String! } type ConversationMessageTemplate { body: String! currentVersionId: String! description: String """ A globally unique ID. """ id: ID! """ A type-specific ID. """ internalID: ID! isDeleted: Boolean! sourceExampleId: String title: String! } """ A connection to a list of items. """ type ConversationMessageTemplateConnection { """ A list of edges. """ edges: [ConversationMessageTemplateEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type ConversationMessageTemplateEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: ConversationMessageTemplate } """ A static example template to help users get started """ type ConversationMessageTemplateExample { body: String! description: String """ Internal identifier for the example, used for tracking purposes """ internalID: ID title: String! } """ The participant responding to the conversation, currently always a Partner """ type ConversationResponder { """ A globally unique ID. """ id: ID! initials(length: Int = 3): String """ A type-specific ID likely used as a database ID. """ internalID: ID! name: String! """ An array of Impulse IDs that correspond to all email addresses that messages should be sent to """ replyToImpulseIDs: [String]! """ The type of participant, e.g. Partner or User """ type: String! } enum ConversationType { INQUIRY ORDER } enum ConversationsInputMode { PARTNER USER } type CreateAccountRequestMutationFailure { mutationError: GravityMutationError } input CreateAccountRequestMutationInput { """ Type of account request. """ action: String clientMutationId: String """ Email to associate with message. """ email: String """ Name to associate with message. """ name: String """ Message to be sent. """ notes: String! """ Used when logged in. """ userID: String } type CreateAccountRequestMutationPayload { accountRequestOrError: CreateAccountRequestMutationType clientMutationId: String } type CreateAccountRequestMutationSuccess { accountRequest: AccountRequest } union CreateAccountRequestMutationType = CreateAccountRequestMutationFailure | CreateAccountRequestMutationSuccess type CreateAlertFailure { mutationError: GravityMutationError } union CreateAlertResponseOrError = CreateAlertFailure | CreateAlertSuccess type CreateAlertSuccess { alert: Alert me: Me! } input CreateAndSendBackupSecondFactorInput { clientMutationId: String userID: ID! } type CreateAndSendBackupSecondFactorPayload { clientMutationId: String factor: BackupSecondFactor! } input CreateAppSecondFactorInput { attributes: AppSecondFactorAttributes! clientMutationId: String password: String! } type CreateAppSecondFactorPayload { clientMutationId: String secondFactorOrErrors: AppSecondFactorOrErrorsUnion! } type CreateArtistFailure { mutationError: GravityMutationError } input CreateArtistMutationInput { birthday: String clientMutationId: String deathday: String displayName: String! firstName: String isPersonalArtist: Boolean lastName: String middleName: String nationality: String """ When present, will create the partner-artist record as well """ partnerID: String } type CreateArtistMutationPayload { """ Success or Error, where on success Artist is returned """ artistOrError: CreateArtistSuccessOrErrorType clientMutationId: String } type CreateArtistSuccess { artist: Artist } union CreateArtistSuccessOrErrorType = CreateArtistFailure | CreateArtistSuccess type CreateArtnetImportArtistAssignmentFailure { mutationError: GravityMutationError } input CreateArtnetImportArtistAssignmentInput { """ The artist ID to assign to the unmatched name """ artistID: String! """ The unmatched artist name to assign """ artistName: String! artnetImportID: String! clientMutationId: String } type CreateArtnetImportArtistAssignmentPayload { clientMutationId: String createArtnetImportArtistAssignmentOrError: CreateArtnetImportArtistAssignmentResponseOrError } union CreateArtnetImportArtistAssignmentResponseOrError = CreateArtnetImportArtistAssignmentFailure | CreateArtnetImportArtistAssignmentSuccess type CreateArtnetImportArtistAssignmentSuccess { artnetImport: ArtnetImport artnetImportID: String! matchedRowsCount: Int! updatedArtworksCount: Int! } type CreateArtnetImportFailure { mutationError: GravityMutationError } input CreateArtnetImportMutationInput { clientMutationId: String """ The ID of the partner whose Artnet inventory to import. """ partnerID: String! } type CreateArtnetImportMutationPayload { """ On success: the queued import details. On error: the error that occurred. """ artnetImportOrError: CreateArtnetImportResponseOrError clientMutationId: String } union CreateArtnetImportResponseOrError = CreateArtnetImportFailure | CreateArtnetImportSuccess type CreateArtnetImportSuccess { artnetImportID: String queued: Boolean } type CreateArtworkFailure { mutationError: GravityMutationError } type CreateArtworkFromTemplateFailure { mutationError: GravityMutationError } input CreateArtworkFromTemplateInput { """ The ID of the artwork template. """ artworkTemplateID: ID! clientMutationId: String """ The S3 bucket where the artwork image is stored. """ imageS3Bucket: String """ The S3 buckets where the artwork images are stored. This is a list of bucket names. """ imageS3Buckets: [String!] """ The S3 key for the artwork image. """ imageS3Key: String """ The S3 keys for the artwork images. This is a list of object keys. """ imageS3Keys: [String!] """ The ID of the partner. """ partnerID: ID! } type CreateArtworkFromTemplatePayload { artworkOrError: CreateArtworkFromTemplateResponseOrError clientMutationId: String } union CreateArtworkFromTemplateResponseOrError = CreateArtworkFromTemplateFailure | CreateArtworkFromTemplateSuccess type CreateArtworkFromTemplateSuccess { artwork: Artwork } type CreateArtworkImportArtistAssignmentFailure { mutationError: GravityMutationError } input CreateArtworkImportArtistAssignmentInput { """ The artist ID to assign to the unmatched name """ artistID: String! """ The unmatched artist name to assign """ artistName: String! artworkImportID: String! clientMutationId: String } type CreateArtworkImportArtistAssignmentPayload { clientMutationId: String createArtworkImportArtistAssignmentOrError: CreateArtworkImportArtistAssignmentResponseOrError } union CreateArtworkImportArtistAssignmentResponseOrError = CreateArtworkImportArtistAssignmentFailure | CreateArtworkImportArtistAssignmentSuccess type CreateArtworkImportArtistAssignmentSuccess { artworkImport: ArtworkImport artworkImportID: String! updatedRowsCount: Int! } type CreateArtworkImportArtistMatchFailure { mutationError: GravityMutationError } input CreateArtworkImportArtistMatchInput { artworkImportID: String! clientMutationId: String } type CreateArtworkImportArtistMatchPayload { clientMutationId: String createArtworkImportArtistMatchOrError: CreateArtworkImportArtistMatchResponseOrError } union CreateArtworkImportArtistMatchResponseOrError = CreateArtworkImportArtistMatchFailure | CreateArtworkImportArtistMatchSuccess type CreateArtworkImportArtistMatchSuccess { artworkImport: ArtworkImport artworkImportID: String! success: Boolean! } type CreateArtworkImportArtworksFailure { mutationError: GravityMutationError } input CreateArtworkImportArtworksInput { artworkImportID: String! clientMutationId: String } type CreateArtworkImportArtworksPayload { clientMutationId: String createArtworkImportArtworksOrError: CreateArtworkImportArtworksResponseOrError } union CreateArtworkImportArtworksResponseOrError = CreateArtworkImportArtworksFailure | CreateArtworkImportArtworksSuccess type CreateArtworkImportArtworksSuccess { queued: Boolean! } type CreateArtworkImportCellFlagFailure { mutationError: GravityMutationError } input CreateArtworkImportCellFlagInput { artworkImportID: String! clientMutationId: String """ Name of the column containing the cell to flag """ columnName: String! """ The value being flagged """ flaggedValue: String! """ The original value before flagging """ originalValue: String """ ID of the row containing the cell to flag """ rowID: String! """ User note explaining why the cell was flagged """ userNote: String } type CreateArtworkImportCellFlagPayload { clientMutationId: String createArtworkImportCellFlagOrError: CreateArtworkImportCellFlagResponseOrError } union CreateArtworkImportCellFlagResponseOrError = CreateArtworkImportCellFlagFailure | CreateArtworkImportCellFlagSuccess type CreateArtworkImportCellFlagSuccess { artworkImport: ArtworkImport success: Boolean! } type CreateArtworkImportFailure { mutationError: GravityMutationError } input CreateArtworkImportInput { async: Boolean clientMutationId: String fileName: String locationID: String parseWithAI: Boolean parseWithAIModel: String partnerID: String! partnerListID: String s3Bucket: String! s3Key: String! """ Source of the import: 'bulk_import' or 'multi_add'. Defaults to 'bulk_import'. """ source: String = "bulk_import" } type CreateArtworkImportPayload { artworkImportOrError: CreateArtworkImportResponseOrError clientMutationId: String } union CreateArtworkImportResponseOrError = CreateArtworkImportFailure | CreateArtworkImportSuccess type CreateArtworkImportSuccess { artworkImport: ArtworkImport queued: Boolean } input CreateArtworkMutationInput { """ The IDs of the artists associated with the artwork. """ artistIds: [String!]! """ Whether the artwork is listed on Artsy. If absent, it defaults to true """ artsyListing: Boolean clientMutationId: String """ The surface the artwork is being created from. Defaults to CMS. """ createdSurface: ArtworkCreatedSurface """ The S3 bucket where the artwork image is stored. """ imageS3Bucket: String """ The S3 buckets where the artwork images are stored. This is a list of bucket names. """ imageS3Buckets: [String!] """ The S3 key for the artwork image. """ imageS3Key: String """ The S3 keys for the artwork images. This is a list of object keys. """ imageS3Keys: [String!] """ The ID of the partner under which the artwork is created. """ partnerId: String! """ If present, the newly created artwork will be added to this show. """ partnerShowId: String } type CreateArtworkMutationPayload { """ On success: the created artwork. On error: the error that occurred. """ artworkOrError: CreateArtworkResponseOrError clientMutationId: String } union CreateArtworkResponseOrError = CreateArtworkFailure | CreateArtworkSuccess type CreateArtworkSuccess { artwork: Artwork } type CreateArtworkTemplateFailure { mutationError: GravityMutationError } input CreateArtworkTemplateInput { artworkId: String! clientMutationId: String partnerId: String! title: String! } type CreateArtworkTemplatePayload { artworkTemplateOrError: CreateArtworkTemplateResponseOrError clientMutationId: String } union CreateArtworkTemplateResponseOrError = CreateArtworkTemplateFailure | CreateArtworkTemplateSuccess type CreateArtworkTemplateSuccess { artworkTemplate: ArtworkTemplate } input CreateBackupSecondFactorsInput { clientMutationId: String password: String! } type CreateBackupSecondFactorsPayload { clientMutationId: String secondFactorsOrErrors: BackupSecondFactorsOrErrorsUnion! } input CreateBidderInput { clientMutationId: String saleID: String! } type CreateBidderPayload { bidder: Bidder clientMutationId: String } type CreateBrandKitFailure { mutationError: GravityMutationError } input CreateBrandKitInput { """ Background color hex code (e.g. #FF0000) """ backgroundColor: String clientMutationId: String """ CTA color hex code (e.g. #FF0000) """ ctaColor: String """ Font family name """ fontFamily: String """ Font style """ fontStyle: String """ Font weight """ fontWeight: String """ The partner ID to create the brand kit for """ partnerId: String! """ Text color hex code (e.g. #FF0000) """ textColor: String } type CreateBrandKitPayload { """ On success: the created brand kit """ brandKitOrError: CreateBrandKitResponseOrError clientMutationId: String } union CreateBrandKitResponseOrError = CreateBrandKitFailure | CreateBrandKitSuccess type CreateBrandKitSuccess { brandKit: BrandKit } type CreateCanonicalArtistFailure { mutationError: GravityMutationError } input CreateCanonicalArtistMutationInput { birthday: String clientMutationId: String deathday: String displayName: String firstName: String lastName: String middleName: String nationality: String """ When present, will create the partner-artist record as well """ partnerID: String } type CreateCanonicalArtistMutationPayload { """ Success or Error, where on success Artist is returned """ artistOrError: CreateCanonicalArtistSuccessOrErrorType clientMutationId: String } type CreateCanonicalArtistSuccess { artist: Artist } union CreateCanonicalArtistSuccessOrErrorType = CreateCanonicalArtistFailure | CreateCanonicalArtistSuccess type CreateCareerHighlightFailure { mutationError: GravityMutationError } input CreateCareerHighlightInput { artistId: String! clientMutationId: String collected: Boolean group: Boolean partnerId: String! solo: Boolean } type CreateCareerHighlightPayload { """ On success: the created Artist Career Highlight. """ careerHighlightOrError: CreateCareerHighlightSuccessResponseOrError clientMutationId: String } type CreateCareerHighlightSuccess { careerHighlight: CareerHighlight } union CreateCareerHighlightSuccessResponseOrError = CreateCareerHighlightFailure | CreateCareerHighlightSuccess type CreateCatalogArtworkDocumentFailure { mutationError: GravityMutationError } input CreateCatalogArtworkDocumentMutationInput { """ The ID of the catalog artwork. """ catalogArtworkId: String! clientMutationId: String """ File size in bytes. """ fileSize: Int """ Original filename of the document. """ filename: String! """ S3 bucket containing the document. """ s3Bucket: String! """ S3 key of the uploaded document. """ s3Key: String! """ Label for the document. """ title: String } type CreateCatalogArtworkDocumentMutationPayload { clientMutationId: String """ On success: the created document. On error: the error that occurred. """ documentOrError: CreateCatalogArtworkDocumentResponseOrError } union CreateCatalogArtworkDocumentResponseOrError = CreateCatalogArtworkDocumentFailure | CreateCatalogArtworkDocumentSuccess type CreateCatalogArtworkDocumentSuccess { document: CatalogArtworkDocument } type CreateCollectionFailure { mutationError: GravityMutationError } union CreateCollectionResponseOrError = CreateCollectionFailure | CreateCollectionSuccess type CreateCollectionSuccess { collection: Collection } input CreateConsignmentInquiryMutationInput { clientMutationId: String email: String! message: String! name: String! phoneNumber: String recipientEmail: String userId: String } type CreateConsignmentInquiryMutationPayload { clientMutationId: String consignmentInquiryOrError: CreateConsignmentInquiryMutationType } union CreateConsignmentInquiryMutationType = ConsignmentInquiryMutationFailure | ConsignmentInquiryMutationSuccess type CreateConversationMessageTemplateFailure { mutationError: GravityMutationError } input CreateConversationMessageTemplateInput { """ The body of the template """ body: String! clientMutationId: String """ Optional description of the template """ description: String """ Whether this is a soft-deleted/dismissed template """ isDeleted: Boolean """ The ID of the partner """ partnerId: String! """ ID of the example template this was created from """ sourceExampleId: String """ The title of the template """ title: String! } type CreateConversationMessageTemplatePayload { clientMutationId: String responseOrError: CreateConversationMessageTemplateResponseOrError } union CreateConversationMessageTemplateResponseOrError = CreateConversationMessageTemplateFailure | CreateConversationMessageTemplateSuccess type CreateConversationMessageTemplateSuccess { conversationMessageTemplate: ConversationMessageTemplate partner: Partner! } type CreateFeatureFailure { mutationError: GravityMutationError } input CreateFeatureMutationInput { active: Boolean! callout: String clientMutationId: String description: String layout: FeatureLayouts metaTitle: String name: String! sourceBucket: String sourceKey: String subheadline: String videoURL: String } type CreateFeatureMutationPayload { clientMutationId: String featureOrError: createFeatureResponseOrError } type CreateFeatureSuccess { feature: Feature } type CreateFeaturedLinkFailure { mutationError: GravityMutationError } input CreateFeaturedLinkMutationInput { clientMutationId: String description: String href: String! orderedSetID: String sourceBucket: String sourceKey: String subtitle: String title: String! } type CreateFeaturedLinkMutationPayload { clientMutationId: String featuredLinkOrError: CreateFeaturedLinkResponseOrError } union CreateFeaturedLinkResponseOrError = CreateFeaturedLinkFailure | CreateFeaturedLinkSuccess type CreateFeaturedLinkSuccess { featuredLink: FeaturedLink } input CreateGeminiEntryForAssetInput { clientMutationId: String """ Additional JSON data to pass through gemini, should definitely contain an `id` and a `_type` """ metadata: JSON! """ The S3 bucket where the file was uploaded """ sourceBucket: String! """ The path to the file """ sourceKey: String! """ The template key, this is `name` in the asset request """ templateKey: String! } type CreateGeminiEntryForAssetPayload { asset: GeminiEntry clientMutationId: String } input CreateHeroUnitLinkInput { text: String! url: String! } input CreateHeroUnitMutationInput { body: String! clientMutationId: String credit: String endAt: String imageUrl: String label: String link: CreateHeroUnitLinkInput! position: Int startAt: String title: String! } type CreateHeroUnitMutationPayload { clientMutationId: String """ On success: the hero unit created. """ heroUnitOrError: createHeroUnitResponseOrError } input CreateIdentityVerificationOverrideMutationInput { clientMutationId: String """ The identity verification ID """ identityVerificationID: String! """ The reason for the identity verification override """ reason: String! """ The state of the identity verification override """ state: String! } type CreateIdentityVerificationOverrideMutationPayload { clientMutationId: String """ On success: an identity verification with overrides """ createIdentityVerificationOverrideResponseOrError: CreateIdentityVerificationOverrideResponseOrError } union CreateIdentityVerificationOverrideResponseOrError = IdentityVerificationOverrideMutationFailure | IdentityVerificationOverrideMutationSuccess input CreateImageInput { clientMutationId: String """ The S3 url for the image to be processed. """ src: String! """ The Gemini template key that tells us which image versions we want to generate during processing. """ templateKey: String! } type CreateImagePayload { clientMutationId: String image: ARImage! } type CreateInstagramPostFailure { mutationError: GravityMutationError } input CreateInstagramPostInput { """ Post caption (auto-generated from artwork data if omitted) """ caption: String clientMutationId: String """ Up to 3 Instagram usernames to invite as collaborators """ collaborators: [String!] """ The internal ID of the Instagram account to post from """ instagramAccountId: String! """ Slides for the Instagram post. Each slide requires an s3Key and an optional artworkId for custom image-only slides. The order determines the carousel position. """ slides: [InstagramPostSlideInput!]! } type CreateInstagramPostPayload { clientMutationId: String """ On success: the created Instagram post """ instagramPostOrError: CreateInstagramPostResponseOrError } union CreateInstagramPostResponseOrError = CreateInstagramPostFailure | CreateInstagramPostSuccess type CreateInstagramPostSuccess { instagramPost: InstagramPost } type CreateInvoicePaymentFailure { mutationError: GravityMutationError } input CreateInvoicePaymentInput { amountMinor: Float! clientMutationId: String creditCardToken: String! invoiceID: String! invoiceToken: String! provider: String! } type CreateInvoicePaymentPayload { clientMutationId: String responseOrError: CreateInvoicePaymentResponseOrError } union CreateInvoicePaymentResponseOrError = CreateInvoicePaymentFailure | CreateInvoicePaymentSuccess type CreateInvoicePaymentSuccess { invoicePayment: InvoicePayment } type CreateMailchimpCampaignFailure { mutationError: GravityMutationError } input CreateMailchimpCampaignInput { """ Artwork IDs to associate with the campaign for tracking """ artworkIds: [String!] clientMutationId: String """ Pre-rendered HTML body for the campaign """ htmlContent: String! """ The Mailchimp list/audience ID to send the campaign to """ listId: String! """ The internal ID of the Mailchimp account to use """ mailchimpAccountId: String! """ The email preview text """ previewText: String """ The email subject line """ subjectLine: String! } type CreateMailchimpCampaignPayload { clientMutationId: String """ On success: the created Mailchimp campaign """ mailchimpCampaignOrError: CreateMailchimpCampaignResponseOrError } union CreateMailchimpCampaignResponseOrError = CreateMailchimpCampaignFailure | CreateMailchimpCampaignSuccess type CreateMailchimpCampaignSuccess { mailchimpCampaign: MailchimpCampaign } type CreateNavigationDraftFailure { mutationError: GravityMutationError! } input CreateNavigationDraftInput { clientMutationId: String """ The ID of the navigation group """ groupID: String! """ The ID of the navigation version version to seed from """ seedFromVersionID: String } type CreateNavigationDraftPayload { clientMutationId: String navigationVersionOrError: CreateNavigationDraftResponseOrError! } union CreateNavigationDraftResponseOrError = CreateNavigationDraftFailure | CreateNavigationDraftSuccess type CreateNavigationDraftSuccess { navigationVersion: NavigationVersion! } type CreateNavigationItemFailure { mutationError: GravityMutationError! } input CreateNavigationItemInput { clientMutationId: String """ A relative URL that starts with / """ href: String """ The ID of the parent navigation item """ parentID: String """ The position of the navigation item """ position: Int """ The title of the navigation item """ title: String! """ The ID of the navigation version """ versionID: String! } type CreateNavigationItemPayload { clientMutationId: String navigationItemOrError: CreateNavigationItemResponseOrError! } union CreateNavigationItemResponseOrError = CreateNavigationItemFailure | CreateNavigationItemSuccess type CreateNavigationItemSuccess { navigationItem: NavigationItem! } """ Autogenerated input type of CreateOfferMutation """ input CreateOfferMutationInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String commissionPercentWhole: Int! createdById: String currency: String deadlineToConsign: String gravityPartnerId: String! highEstimateDollars: Int insuranceInfo: String lowEstimateDollars: Int notes: String offerType: String otherFeesInfo: String partnerInfo: String photographyInfo: String saleDate: Date saleLocation: String saleName: String shippingInfo: String startingBidDollars: Int state: String submissionId: ID! } """ Autogenerated return type of CreateOfferMutation """ type CreateOfferMutationPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String consignmentOffer: ConsignmentOffer } """ Autogenerated input type of CreateOfferResponseMutation """ input CreateOfferResponseMutationInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String comments: String intendedState: IntendedState! offerId: ID! phoneNumber: String rejectionReason: String } """ Autogenerated return type of CreateOfferResponseMutation """ type CreateOfferResponseMutationPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String consignmentOfferResponse: OfferResponse } input CreateOrderedSetMutationInput { clientMutationId: String description: String internalName: String itemId: String itemIds: [String] itemType: String! key: String! layout: OrderedSetLayouts name: String ownerType: String published: Boolean } type CreateOrderedSetMutationPayload { clientMutationId: String """ On success: the ordered set created. """ orderedSetOrError: createOrderedSetResponseOrError } type CreatePageFailure { mutationError: GravityMutationError } input CreatePageMutationInput { clientMutationId: String content: String! name: String! published: Boolean! } type CreatePageMutationPayload { clientMutationId: String pageOrError: CreatePageResponseOrError } union CreatePageResponseOrError = CreatePageFailure | CreatePageSuccess type CreatePageSuccess { page: Page } type CreatePartnerArtistDocumentFailure { mutationError: GravityMutationError } input CreatePartnerArtistDocumentMutationInput { """ The ID of the artist. """ artistId: String! clientMutationId: String """ The ID of the partner. """ partnerId: String! """ The URL of the document to upload. """ remoteDocumentUrl: String! """ The title of the document. """ title: String! } type CreatePartnerArtistDocumentMutationPayload { clientMutationId: String """ On success: the created document. On error: the error that occurred. """ documentOrError: CreatePartnerArtistDocumentResponseOrError } union CreatePartnerArtistDocumentResponseOrError = CreatePartnerArtistDocumentFailure | CreatePartnerArtistDocumentSuccess type CreatePartnerArtistDocumentSuccess { document: PartnerDocument partner: Partner } type CreatePartnerArtworksExportFailure { mutationError: GravityMutationError } input CreatePartnerArtworksExportMutationInput { """ Optional list of artwork IDs to export. Exports all artworks if omitted. """ artworkIds: [String!] clientMutationId: String """ The ID of the partner. """ partnerId: String! } type CreatePartnerArtworksExportMutationPayload { clientMutationId: String """ On success: the export job ID. On error: the error that occurred. """ partnerArtworksExportOrError: CreatePartnerArtworksExportResponseOrError } union CreatePartnerArtworksExportResponseOrError = CreatePartnerArtworksExportFailure | CreatePartnerArtworksExportSuccess type CreatePartnerArtworksExportSuccess { """ The ID of the enqueued export job. """ exportId: String! } type CreatePartnerContactFailure { mutationError: GravityMutationError } input CreatePartnerContactInput { """ If true, send all user inquiries and order notifications to this contact. """ canContact: Boolean clientMutationId: String """ Email address of the contact """ email: String """ ID of the contact's partner location """ locationId: String """ Contact's name """ name: String """ ID of the partner """ partnerID: String! """ Phone number of the contact """ phone: String """ Contact's position at the partner """ position: String } union CreatePartnerContactOrError = CreatePartnerContactFailure | CreatePartnerContactSuccess type CreatePartnerContactPayload { clientMutationId: String partnerContactOrError: CreatePartnerContactOrError } type CreatePartnerContactSuccess { partnerContact: Contact } type CreatePartnerListFailure { mutationError: GravityMutationError } input CreatePartnerListMutationInput { clientMutationId: String """ End date for the list. """ endAt: String """ The ID of the fair to associate with this list. """ fairID: String """ The type of list (show, fair, private_viewing_room, or other). """ listType: PartnerListTypeEnum """ The name of the list. """ name: String! """ The ID of the partner. """ partnerID: String! """ Start date for the list. """ startAt: String } type CreatePartnerListMutationPayload { clientMutationId: String """ On success: the created partner list. On error: the error that occurred. """ partnerListOrError: CreatePartnerListResponseOrError } union CreatePartnerListResponseOrError = CreatePartnerListFailure | CreatePartnerListSuccess type CreatePartnerListSuccess { partnerList: PartnerList } type CreatePartnerLocationDaySchedulesFailure { mutationError: GravityMutationError } input CreatePartnerLocationDaySchedulesInput { clientMutationId: String """ List of day schedules for the full week """ daySchedules: [DayScheduleInput!]! """ ID of the location """ locationId: String! """ ID of the partner """ partnerId: String! } union CreatePartnerLocationDaySchedulesOrError = CreatePartnerLocationDaySchedulesFailure | CreatePartnerLocationDaySchedulesSuccess type CreatePartnerLocationDaySchedulesPayload { clientMutationId: String daySchedulesOrError: CreatePartnerLocationDaySchedulesOrError } type CreatePartnerLocationDaySchedulesSuccess { daySchedules: [DaySchedule] } type CreatePartnerLocationFailure { mutationError: GravityMutationError } input CreatePartnerLocationInput { address: String address2: String addressType: String city: String clientMutationId: String country: String """ Primary email of given location """ email: String name: String """ ID of the partner """ partnerId: String! """ Primary phone of given location """ phone: String postalCode: String """ Boolean flag that denotes whether a location is publicly viewable on Partner's Artsy Profile """ publiclyViewable: Boolean state: String } union CreatePartnerLocationOrError = CreatePartnerLocationFailure | CreatePartnerLocationSuccess type CreatePartnerLocationPayload { clientMutationId: String partnerLocationOrError: CreatePartnerLocationOrError } type CreatePartnerLocationSuccess { location: Location } type CreatePartnerShowDocumentFailure { mutationError: GravityMutationError } input CreatePartnerShowDocumentMutationInput { clientMutationId: String """ The ID of the partner. """ partnerId: String! """ The URL of the document to upload. """ remoteDocumentUrl: String! """ The ID of the show. """ showId: String! """ The title of the document. """ title: String! } type CreatePartnerShowDocumentMutationPayload { clientMutationId: String """ On success: the created document. On error: the error that occurred. """ documentOrError: CreatePartnerShowDocumentResponseOrError } union CreatePartnerShowDocumentResponseOrError = CreatePartnerShowDocumentFailure | CreatePartnerShowDocumentSuccess type CreatePartnerShowDocumentSuccess { document: PartnerDocument show: Show } type CreatePartnerShowEventFailure { mutationError: GravityMutationError } input CreatePartnerShowEventMutationInput { clientMutationId: String """ A description of the event. """ description: String """ The end time of the event. """ endAt: String! """ The type of event. """ eventType: String! """ The ID of the partner. """ partnerId: String! """ The ID of the show. """ showId: String! """ The start time of the event. """ startAt: String! """ The time zone of the event. """ timeZone: String } type CreatePartnerShowEventMutationPayload { clientMutationId: String """ On success: the created show event. On error: the error that occurred. """ showEventOrError: CreatePartnerShowEventResponseOrError } union CreatePartnerShowEventResponseOrError = CreatePartnerShowEventFailure | CreatePartnerShowEventSuccess type CreatePartnerShowEventSuccess { show: Show showEvent: ShowEventType } type CreatePartnerShowFailure { mutationError: GravityMutationError } input CreatePartnerShowFairLocationInput { """ The booth of the show in the fair. """ booth: String """ The floor of the show in the fair. """ floor: String """ The hall of the show in the fair. """ hall: String """ The pier of the show in the fair. """ pier: String """ The room of the show in the fair. """ room: String """ The section of the show in the fair. """ section: String } input CreatePartnerShowMutationInput { clientMutationId: String """ The description of the show. """ description: String """ The end date of the show. Optional for fair booth shows, required for regular shows. """ endAt: String """ The id of the fair to create the show for. """ fairId: String fairLocation: CreatePartnerShowFairLocationInput """ Is the show featured? """ featured: Boolean """ The location id of the show. """ locationId: String """ The name of the show. """ name: String! """ The id of the partner to create the show for. """ partnerId: String! """ The press release of the show. """ pressRelease: String """ The start date of the show. """ startAt: String! """ The viewing room ids of the show. """ viewingRoomIds: [String] } type CreatePartnerShowMutationPayload { clientMutationId: String """ On success: the created partner show. On error: the error that occurred. """ showOrError: CreatePartnerShowResponseOrError } union CreatePartnerShowResponseOrError = CreatePartnerShowFailure | CreatePartnerShowSuccess type CreatePartnerShowSuccess { show: Show } type CreatePurchaseFailure { mutationError: GravityMutationError } union CreatePurchaseResponseOrError = CreatePurchaseFailure | CreatePurchaseSuccess type CreatePurchaseSuccess { purchase: Purchase } type CreateSaleAgreementFailure { mutationError: GravityMutationError } input CreateSaleAgreementMutationInput { clientMutationId: String content: String! displayEndAt: String displayStartAt: String published: Boolean! saleId: String! status: SaleAgreementStatus! } type CreateSaleAgreementMutationPayload { clientMutationId: String saleAgreementOrError: CreateSaleAgreementResponseOrError } union CreateSaleAgreementResponseOrError = CreateSaleAgreementFailure | CreateSaleAgreementSuccess type CreateSaleAgreementSuccess { saleAgreement: SaleAgreement } type CreateShippingPresetFailure { mutationError: GravityMutationError } input CreateShippingPresetMutationInput { clientMutationId: String """ Domestic shipping fee in cents. """ domesticShippingFeeCents: Int """ The type of domestic shipping option. """ domesticType: DomesticType """ International shipping fee in cents. """ internationalShippingFeeCents: Int """ The type of international shipping option. """ internationalType: InternationalType """ The name of the shipping preset. """ name: String! """ The ID of the partner to create the shipping preset for. """ partnerId: String! """ Whether pickup is available. """ pickupAvailable: Boolean """ Currency of the shipping fee """ priceCurrency: String } type CreateShippingPresetMutationPayload { clientMutationId: String """ On success: the created shipping preset. On error: the error that occurred. """ shippingPresetOrError: CreateShippingPresetResponseOrError } union CreateShippingPresetResponseOrError = CreateShippingPresetFailure | CreateShippingPresetSuccess type CreateShippingPresetSuccess { shippingPreset: ShippingPreset } input CreateSmsSecondFactorInput { attributes: SmsSecondFactorAttributes! clientMutationId: String password: String! } type CreateSmsSecondFactorPayload { clientMutationId: String secondFactorOrErrors: SmsSecondFactorOrErrorsUnion! } """ Autogenerated input type of CreateSubmissionMutation """ input CreateSubmissionMutationInput { additionalInfo: String artistID: String! attributionClass: ConsignmentAttributionClass authenticityCertificate: Boolean category: ConsignmentSubmissionCategoryAggregation """ A unique identifier for the client performing the mutation. """ clientMutationId: String coaByAuthenticatingBody: Boolean coaByGallery: Boolean currency: String depth: String dimensionsMetric: String edition: Boolean editionNumber: String """ Deprecated: Use edition_size_formatted field instead """ editionSize: Int editionSizeFormatted: String height: String locationAddress: String locationAddress2: String locationCity: String locationCountry: String locationCountryCode: String locationPostalCode: String locationState: String medium: String minimumPriceDollars: Int myCollectionArtworkID: String provenance: String sessionID: String signature: Boolean source: ConsignmentSubmissionSource """ If this artwork exists in Gravity, its ID """ sourceArtworkID: String state: ConsignmentSubmissionStateAggregation title: String userAgent: String userEmail: String userName: String userPhone: String utmMedium: String utmSource: String utmTerm: String width: String year: String } """ Autogenerated return type of CreateSubmissionMutation """ type CreateSubmissionMutationPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String consignmentSubmission: ConsignmentSubmission } input CreateUserAddressInput { attributes: UserAddressAttributes! clientMutationId: String } type CreateUserAddressPayload { clientMutationId: String me: Me userAddressOrErrors: UserAddressOrErrorsUnion! } type CreateUserInterestFailure { mutationError: GravityMutationError } input CreateUserInterestForUserInput { """ Optional body for a note. """ body: String category: UserInterestCategory! clientMutationId: String interestId: String! interestType: UserInterestInterestType! ownerType: UserInterestOwnerType! userId: String! } type CreateUserInterestForUserPayload { clientMutationId: String """ On success: UserInterest, User. On failure: MutationError. """ userInterestOrError: createUserInterestForUserResponseOrError } input CreateUserInterestMutationInput { anonymousSessionId: String """ Optional body for note """ body: String category: UserInterestCategory! clientMutationId: String interestId: String! interestType: UserInterestInterestType! private: Boolean sessionID: String } type CreateUserInterestMutationPayload { clientMutationId: String me: Me! userInterest: UserInterest! } input CreateUserInterestsMutationInput { clientMutationId: String userInterests: [UserInterestInput!]! } type CreateUserInterestsMutationPayload { clientMutationId: String me: Me! userInterestsOrErrors: [UserInterestOrError!]! } type CreateUserSaleProfileFailure { mutationError: GravityMutationError } input CreateUserSaleProfileMutationInput { addressLine1: String addressLine2: String city: String clientMutationId: String country: String requireBidderApproval: Boolean state: String userId: String! zip: String } type CreateUserSaleProfileMutationPayload { clientMutationId: String """ On success: the user sale profile created. """ userSaleProfileOrError: CreateUserSaleProfileResponseOrError } union CreateUserSaleProfileResponseOrError = CreateUserSaleProfileFailure | CreateUserSaleProfileSuccess type CreateUserSaleProfileSuccess { userSaleProfile: UserSaleProfile } type CreateUserSeenArtworkFailure { mutationError: GravityMutationError } input CreateUserSeenArtworkInput { artworkId: String! clientMutationId: String } type CreateUserSeenArtworkPayload { clientMutationId: String """ On success: the created User Seen Artwork. """ userSeenArtworkOrError: CreateUserSeenArtworkSuccessResponseOrError } type CreateUserSeenArtworkSuccess { artworkId: String } union CreateUserSeenArtworkSuccessResponseOrError = CreateUserSeenArtworkFailure | CreateUserSeenArtworkSuccess type CreateVerifiedRepresentativeFailure { mutationError: GravityMutationError } input CreateVerifiedRepresentativeInput { artistId: String! clientMutationId: String partnerId: String! } type CreateVerifiedRepresentativePayload { clientMutationId: String """ On success: the created Verified Representative. """ verifiedRepresentativeOrError: CreateVerifiedRepresentativeResponseOrError } union CreateVerifiedRepresentativeResponseOrError = CreateVerifiedRepresentativeFailure | CreateVerifiedRepresentativeSuccess type CreateVerifiedRepresentativeSuccess { verifiedRepresentative: VerifiedRepresentative } type CreateVideoFailure { mutationError: GravityMutationError } input CreateVideoInput { clientMutationId: String description: String """ Video height in pixels """ height: Int! """ URL suitable for embedding in an iframe """ playerUrl: String! title: String! """ Video width in pixels """ width: Int! } type CreateVideoPayload { clientMutationId: String videoOrError: CreateVideoResponseOrError } union CreateVideoResponseOrError = CreateVideoFailure | CreateVideoSuccess type CreateVideoSuccess { video: Video } input CreateViewingRoomInput { attributes: ViewingRoomAttributes """ Main text """ body: String clientMutationId: String """ End datetime """ endAt: String image: ARImageInput """ Introduction """ introStatement: String partnerID: String """ Partner Id """ partnerId: String """ Pullquote """ pullQuote: String """ Start datetime """ startAt: String """ Timezone """ timeZone: String """ Title """ title: String } type CreateViewingRoomPayload { clientMutationId: String viewingRoomOrErrors: ViewingRoomOrErrorsUnion! } """ An asset which is assigned to a consignment submission """ type Credentials { """ The key to use with S3. """ credentials: String! """ The s3 policy document for your request """ policyDocument: S3PolicyDocumentType! """ A base64 encoded version of the S3 policy """ policyEncoded: String! """ The signature for your asset. """ signature: String! } type CreditCard { """ Brand of credit card """ brand: String! """ Billing address city """ city: String """ Billing address country code """ country: String """ Credit card's expiration month """ expirationMonth: Int! """ Credit card's expiration year """ expirationYear: Int! """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! """ Last four digits on the credit card """ lastDigits: String! """ Name on the credit card """ name: String """ Billing address postal code """ postalCode: String """ Billing address state """ state: String """ Billing address street1 """ street1: String """ Billing address street2 """ street2: String } """ A connection to a list of items. """ type CreditCardConnection { """ A list of edges. """ edges: [CreditCardEdge] """ Information to aid in pagination. """ pageInfo: PageInfo! } """ An edge in a connection. """ type CreditCardEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: CreditCard } input CreditCardInput { clientMutationId: String oneTimeUse: Boolean = false token: String! } type CreditCardMutationFailure { mutationError: GravityMutationError } type CreditCardMutationSuccess { creditCard: CreditCard creditCardEdge: CreditCardEdge } union CreditCardMutationType = CreditCardMutationFailure | CreditCardMutationSuccess type CreditCardPayload { clientMutationId: String creditCardOrError: CreditCardMutationType me: Me } type CroppedImageUrl { cachePolicy: String height: Int! src: String! srcSet: String! url: String! width: Int! } enum CurrencyPreference { EUR GBP USD } type CurrentEvent { """ Location and date of the event if available """ details: String event: UnderlyingCurrentEvent! """ Link to the event """ href: String image: Image """ Name of the event """ name: String """ Name of the partner associated to the event """ partner: String """ The state of the event """ status: String } """ Date in YYYY-MM-DD format """ scalar Date enum DateMode { CUSTOM YEAR YEAR_RANGE } type DaySchedule { dayOfWeek: String endTime: Int startTime: Int } input DayScheduleInput { day: Int endTime: Int startTime: Int } type DeepZoom { Image: DeepZoomImage } type DeepZoomImage { Format: String Overlap: Int Size: DeepZoomImageSize TileSize: Int Url: String xmlns: String } type DeepZoomImageSize { Height: Int Width: Int } input DeleteAccountInput { clientMutationId: String """ Reason for deleting the account. """ explanation: String """ Password. """ password: String """ Referrer location """ url: String } type DeleteAccountPayload { clientMutationId: String userAccountOrError: AccountMutationType } type DeleteAlertFailure { mutationError: GravityMutationError } union DeleteAlertResponseOrError = DeleteAlertFailure | DeleteAlertSuccess type DeleteAlertSuccess { alert: Alert } type DeleteArtistFailure { mutationError: GravityMutationError } input DeleteArtistInput { clientMutationId: String id: String! } type DeleteArtistPayload { """ Success or Error, on success the deleted Artist is returned """ artistOrError: DeleteArtistSuccessOrErrorType clientMutationId: String } type DeleteArtistSuccess { artist: Artist } union DeleteArtistSuccessOrErrorType = DeleteArtistFailure | DeleteArtistSuccess type DeleteArtworkFailure { mutationError: GravityMutationError } input DeleteArtworkImageInput { artworkID: String! clientMutationId: String imageID: String! } type DeleteArtworkImagePayload { artworkOrError: ArtworkMutationType clientMutationId: String } type DeleteArtworkImportFailure { mutationError: GravityMutationError } input DeleteArtworkImportInput { artworkImportID: String! clientMutationId: String } type DeleteArtworkImportPayload { artworkImportOrError: DeleteArtworkImportResponseOrError clientMutationId: String } union DeleteArtworkImportResponseOrError = DeleteArtworkImportFailure | DeleteArtworkImportSuccess type DeleteArtworkImportSuccess { """ Whether the deletion job has been queued. Deletion happens asynchronously in the background. """ queued: Boolean } input DeleteArtworkMutationInput { clientMutationId: String """ The ID of the artwork to delete. """ id: String! } type DeleteArtworkMutationPayload { """ On success: the deleted artwork. On error: the error that occurred. """ artworkOrError: DeleteArtworkResponseOrError clientMutationId: String } union DeleteArtworkResponseOrError = DeleteArtworkFailure | DeleteArtworkSuccess type DeleteArtworkSuccess { artwork: Artwork } type DeleteArtworkTemplateFailure { mutationError: GravityMutationError } input DeleteArtworkTemplateInput { """ The ID of the artwork template to delete. """ artworkTemplateID: ID! clientMutationId: String """ The ID of the partner. """ partnerID: ID! } type DeleteArtworkTemplatePayload { """ On success: the deleted artwork template. On failure: MutationError. """ artworkTemplateOrError: DeleteArtworkTemplateResponseOrError clientMutationId: String } union DeleteArtworkTemplateResponseOrError = DeleteArtworkTemplateFailure | DeleteArtworkTemplateSuccess type DeleteArtworkTemplateSuccess { artworkTemplate: ArtworkTemplate } input DeleteBankAccountInput { clientMutationId: String id: String! } type DeleteBankAccountPayload { bankAccountOrError: BankAccountMutationType clientMutationId: String me: Me } type DeleteBrandKitFailure { mutationError: GravityMutationError } input DeleteBrandKitInput { clientMutationId: String """ The internal ID of the brand kit to delete """ id: String! } type DeleteBrandKitLogoFailure { mutationError: GravityMutationError } input DeleteBrandKitLogoInput { clientMutationId: String """ The internal ID of the brand kit """ id: String! } type DeleteBrandKitLogoPayload { """ On success: the brand kit with the logo removed """ brandKitOrError: DeleteBrandKitLogoResponseOrError clientMutationId: String } union DeleteBrandKitLogoResponseOrError = DeleteBrandKitLogoFailure | DeleteBrandKitLogoSuccess type DeleteBrandKitLogoSuccess { brandKit: BrandKit } type DeleteBrandKitPayload { """ On success: a boolean indicating the brand kit was deleted """ brandKitOrError: DeleteBrandKitResponseOrError clientMutationId: String } union DeleteBrandKitResponseOrError = DeleteBrandKitFailure | DeleteBrandKitSuccess type DeleteBrandKitSuccess { success: Boolean } type DeleteCareerHighlightFailure { mutationError: GravityMutationError } input DeleteCareerHighlightInput { clientMutationId: String id: String! } type DeleteCareerHighlightPayload { """ On success: the deleted Artist Career Highlight is returned """ careerHighlightOrError: DeleteCareerHighlightSuccessOrErrorType clientMutationId: String } type DeleteCareerHighlightSuccess { careerHighlight: CareerHighlight } union DeleteCareerHighlightSuccessOrErrorType = DeleteCareerHighlightFailure | DeleteCareerHighlightSuccess type DeleteCatalogArtworkDocumentFailure { mutationError: GravityMutationError } input DeleteCatalogArtworkDocumentMutationInput { """ The ID of the catalog artwork. """ catalogArtworkId: String! clientMutationId: String """ The ID of the document to delete. """ documentId: String! } type DeleteCatalogArtworkDocumentMutationPayload { clientMutationId: String """ On success: the deleted document. On error: the error that occurred. """ documentOrError: DeleteCatalogArtworkDocumentResponseOrError } union DeleteCatalogArtworkDocumentResponseOrError = DeleteCatalogArtworkDocumentFailure | DeleteCatalogArtworkDocumentSuccess type DeleteCatalogArtworkDocumentSuccess { document: CatalogArtworkDocument } type DeleteCollectionFailure { mutationError: GravityMutationError } union DeleteCollectionResponseOrError = DeleteCollectionFailure | DeleteCollectionSuccess type DeleteCollectionSuccess { collection: Collection } type DeleteConversationFailure { mutationError: GravityMutationError } type DeleteConversationMessageTemplateFailure { mutationError: GravityMutationError } input DeleteConversationMessageTemplateInput { clientMutationId: String """ The ID of the template to delete """ id: String! } type DeleteConversationMessageTemplatePayload { clientMutationId: String responseOrError: DeleteConversationMessageTemplateResponseOrError } union DeleteConversationMessageTemplateResponseOrError = DeleteConversationMessageTemplateFailure | DeleteConversationMessageTemplateSuccess type DeleteConversationMessageTemplateSuccess { conversationMessageTemplate: ConversationMessageTemplate partner: Partner! } input DeleteConversationMutationInput { clientMutationId: String """ The id of the conversation to be deleted. """ id: String! } type DeleteConversationMutationPayload { clientMutationId: String """ On success: the conversation that was soft deleted. """ conversationOrError: DeleteConversationResponseOrError } union DeleteConversationResponseOrError = DeleteConversationFailure | DeleteConversationSuccess type DeleteConversationSuccess { conversation: Conversation } input DeleteCreditCardInput { clientMutationId: String id: String! } type DeleteCreditCardPayload { clientMutationId: String creditCardOrError: CreditCardMutationType me: Me } type DeleteFeatureFailure { mutationError: GravityMutationError } input DeleteFeatureMutationInput { clientMutationId: String id: String! } type DeleteFeatureMutationPayload { clientMutationId: String featureOrError: DeleteFeatureResponseOrError } union DeleteFeatureResponseOrError = DeleteFeatureFailure | DeleteFeatureSuccess type DeleteFeatureSuccess { feature: Feature } type DeleteFeaturedLinkFailure { mutationError: GravityMutationError } input DeleteFeaturedLinkMutationInput { clientMutationId: String id: String! } type DeleteFeaturedLinkMutationPayload { clientMutationId: String featuredLinkOrError: DeleteFeaturedLinkResponseOrError } union DeleteFeaturedLinkResponseOrError = DeleteFeaturedLinkFailure | DeleteFeaturedLinkSuccess type DeleteFeaturedLinkSuccess { featuredLink: FeaturedLink } type DeleteInstagramAccountFailure { mutationError: GravityMutationError } input DeleteInstagramAccountInput { clientMutationId: String """ The internal ID of the Instagram account to delete """ id: String! } type DeleteInstagramAccountPayload { clientMutationId: String """ On success: a boolean indicating the account was deleted """ instagramAccountOrError: DeleteInstagramAccountResponseOrError } union DeleteInstagramAccountResponseOrError = DeleteInstagramAccountFailure | DeleteInstagramAccountSuccess type DeleteInstagramAccountSuccess { success: Boolean } type DeleteMailchimpAccountFailure { mutationError: GravityMutationError } input DeleteMailchimpAccountInput { clientMutationId: String """ The internal ID of the Mailchimp account to delete """ id: String! } type DeleteMailchimpAccountPayload { clientMutationId: String """ On success: a boolean indicating the account was deleted """ mailchimpAccountOrError: DeleteMailchimpAccountResponseOrError } union DeleteMailchimpAccountResponseOrError = DeleteMailchimpAccountFailure | DeleteMailchimpAccountSuccess type DeleteMailchimpAccountSuccess { success: Boolean } type DeleteNavigationItemFailure { mutationError: GravityMutationError! } input DeleteNavigationItemInput { clientMutationId: String """ The ID of the navigation item """ id: String! } type DeleteNavigationItemPayload { clientMutationId: String navigationItemOrError: DeleteNavigationItemResponseOrError! } union DeleteNavigationItemResponseOrError = DeleteNavigationItemFailure | DeleteNavigationItemSuccess type DeleteNavigationItemSuccess { navigationItem: NavigationItem! } type DeletePageFailure { mutationError: GravityMutationError } input DeletePageMutationInput { clientMutationId: String id: String! } type DeletePageMutationPayload { clientMutationId: String pageOrError: DeletePageResponseOrError } union DeletePageResponseOrError = DeletePageFailure | DeletePageSuccess type DeletePageSuccess { page: Page } type DeletePartnerArtistDocumentFailure { mutationError: GravityMutationError } input DeletePartnerArtistDocumentMutationInput { """ The ID of the artist. """ artistId: String! clientMutationId: String """ The ID of the document to delete. """ documentId: String! """ The ID of the partner. """ partnerId: String! } type DeletePartnerArtistDocumentMutationPayload { clientMutationId: String """ On success: the deleted document. On error: the error that occurred. """ documentOrError: DeletePartnerArtistDocumentResponseOrError } union DeletePartnerArtistDocumentResponseOrError = DeletePartnerArtistDocumentFailure | DeletePartnerArtistDocumentSuccess type DeletePartnerArtistDocumentSuccess { document: PartnerDocument partner: Partner } type DeletePartnerArtistFailure { mutationError: GravityMutationError } input DeletePartnerArtistMutationInput { """ The ID of the artist to delete. """ artistId: String! clientMutationId: String """ The ID of the partner. """ partnerId: String! } type DeletePartnerArtistMutationPayload { clientMutationId: String """ On success: confirmation of deletion. On error: the error that occurred. """ partnerArtistOrError: DeletePartnerArtistResponseOrError } union DeletePartnerArtistResponseOrError = DeletePartnerArtistFailure | DeletePartnerArtistSuccess type DeletePartnerArtistSuccess { partner: Partner } type DeletePartnerContactFailure { mutationError: GravityMutationError } input DeletePartnerContactMutationInput { clientMutationId: String """ ID of the contact to delete """ contactId: String! """ ID of the partner """ partnerId: String! } type DeletePartnerContactMutationPayload { clientMutationId: String partnerContactOrError: DeletePartnerContactOrError } union DeletePartnerContactOrError = DeletePartnerContactFailure | DeletePartnerContactSuccess type DeletePartnerContactSuccess { partnerContact: Contact } type DeletePartnerListFailure { mutationError: GravityMutationError } input DeletePartnerListMutationInput { clientMutationId: String """ The ID of the partner list. """ id: String! } type DeletePartnerListMutationPayload { clientMutationId: String """ On success: the deleted partner list. On error: the error that occurred. """ partnerListOrError: DeletePartnerListResponseOrError } union DeletePartnerListResponseOrError = DeletePartnerListFailure | DeletePartnerListSuccess type DeletePartnerListSuccess { partnerList: PartnerList } type DeletePartnerLocationFailure { mutationError: GravityMutationError } input DeletePartnerLocationMutationInput { clientMutationId: String """ ID of the Location to delete """ locationId: String! """ ID of the partner """ partnerId: String! } type DeletePartnerLocationMutationPayload { clientMutationId: String partnerLocationOrError: DeletePartnerLocationOrError } union DeletePartnerLocationOrError = DeletePartnerLocationFailure | DeletePartnerLocationSuccess type DeletePartnerLocationSuccess { location: Location } type DeletePartnerShowDocumentFailure { mutationError: GravityMutationError } input DeletePartnerShowDocumentMutationInput { clientMutationId: String """ The ID of the document to delete. """ documentId: String! """ The ID of the partner. """ partnerId: String! """ The ID of the show. """ showId: String! } type DeletePartnerShowDocumentMutationPayload { clientMutationId: String """ On success: the deleted document. On error: the error that occurred. """ documentOrError: DeletePartnerShowDocumentResponseOrError } union DeletePartnerShowDocumentResponseOrError = DeletePartnerShowDocumentFailure | DeletePartnerShowDocumentSuccess type DeletePartnerShowDocumentSuccess { document: PartnerDocument show: Show } type DeletePartnerShowEventFailure { mutationError: GravityMutationError } input DeletePartnerShowEventMutationInput { clientMutationId: String """ The ID of the event to delete. """ eventId: String! """ The ID of the partner. """ partnerId: String! """ The ID of the show. """ showId: String! } type DeletePartnerShowEventMutationPayload { clientMutationId: String """ On success: the deleted show event. On error: the error that occurred. """ showEventOrError: DeletePartnerShowEventResponseOrError } union DeletePartnerShowEventResponseOrError = DeletePartnerShowEventFailure | DeletePartnerShowEventSuccess type DeletePartnerShowEventSuccess { show: Show showEvent: ShowEventType } type DeletePartnerShowFailure { mutationError: GravityMutationError } input DeletePartnerShowMutationInput { clientMutationId: String """ The id of the partner. Required for partner-scoped shows, omit for partner-less reference shows. """ partnerId: String """ The id of the show to delete. """ showId: String! } type DeletePartnerShowMutationPayload { clientMutationId: String """ On success: the deleted show. On error: the error that occurred. """ showOrError: DeletePartnerShowResponseOrError } union DeletePartnerShowResponseOrError = DeletePartnerShowFailure | DeletePartnerShowSuccess type DeletePartnerShowSuccess { show: Show } type DeletePurchaseFailure { mutationError: GravityMutationError } union DeletePurchaseResponseOrError = DeletePurchaseFailure | DeletePurchaseSuccess type DeletePurchaseSuccess { purchase: Purchase } type DeleteShippingPresetFailure { mutationError: GravityMutationError } input DeleteShippingPresetMutationInput { clientMutationId: String """ The ID of the shipping preset to delete. """ id: String! } type DeleteShippingPresetMutationPayload { clientMutationId: String """ On success: the deleted shipping preset. On error: the error that occurred. """ shippingPresetOrError: DeleteShippingPresetResponseOrError } union DeleteShippingPresetResponseOrError = DeleteShippingPresetFailure | DeleteShippingPresetSuccess type DeleteShippingPresetSuccess { shippingPreset: ShippingPreset } input DeleteUserAddressInput { clientMutationId: String userAddressID: ID! } type DeleteUserAddressPayload { clientMutationId: String me: Me userAddressOrErrors: UserAddressOrErrorsUnion! } type DeleteUserFailure { mutationError: GravityMutationError } input DeleteUserIconInput { clientMutationId: String } type DeleteUserIconPayload { clientMutationId: String iconOrError: UserIconDeletionMutationType } input DeleteUserInput { clientMutationId: String id: String! } type DeleteUserInterestFailure { mutationError: GravityMutationError } input DeleteUserInterestForUserInput { clientMutationId: String """ The ID of the UserInterest to delete. """ id: String! """ An optional ID of a User. """ userId: String } type DeleteUserInterestForUserPayload { clientMutationId: String """ On success: UserInterest and optionally a User. On failure: MutationError. """ userInterestOrError: deleteUserInterestForUserResponseOrError } input DeleteUserInterestMutationInput { anonymousSessionId: String clientMutationId: String """ Either the `id` or the `interest_id` of a user interest """ id: String! sessionID: String } type DeleteUserInterestMutationPayload { clientMutationId: String me: Me! userInterest: UserInterest! } union DeleteUserInterestOrErrorType = DeleteUserInterestFailure | UserInterest input DeleteUserInterestsMutationInput { clientMutationId: String ids: [String!]! } type DeleteUserInterestsMutationPayload { clientMutationId: String me: Me! userInterestsOrErrors: [DeleteUserInterestOrErrorType!]! } type DeleteUserPayload { clientMutationId: String """ On success: a deleted User """ userOrError: DeleteUserResponseOrError } union DeleteUserResponseOrError = DeleteUserFailure | DeleteUserSuccess type DeleteUserSuccess { user: User } type DeleteVerifiedRepresentativeFailure { mutationError: GravityMutationError } input DeleteVerifiedRepresentativeMutationInput { clientMutationId: String id: String! } type DeleteVerifiedRepresentativeMutationPayload { clientMutationId: String """ On success: the deleted Verified Representative. """ verifiedRepresentativeOrError: DeleteVerifiedRepresentativeResponseOrError } union DeleteVerifiedRepresentativeResponseOrError = DeleteVerifiedRepresentativeFailure | DeleteVerifiedRepresentativeSuccess type DeleteVerifiedRepresentativeSuccess { verifiedRepresentative: VerifiedRepresentative } type DeleteVideoFailure { mutationError: GravityMutationError } input DeleteVideoMutationInput { clientMutationId: String """ The ID of the video to delete """ id: String! } type DeleteVideoMutationPayload { clientMutationId: String """ Success or Error, on success the deleted Video is returned """ videoOrError: DeleteVideoResponseOrErrorType } union DeleteVideoResponseOrErrorType = DeleteVideoFailure | DeleteVideoSuccess type DeleteVideoSuccess { video: Video } input DeleteViewingRoomInput { clientMutationId: String viewingRoomID: ID! } type DeleteViewingRoomPayload { clientMutationId: String viewingRoom: ViewingRoom! } input DeliverSecondFactorInput { clientMutationId: String secondFactorID: ID! } type DeliverSecondFactorPayload { clientMutationId: String secondFactorOrErrors: SecondFactorOrErrorsUnion! } """ Fields of a delivery (currently from Radiation) """ type Delivery { bouncedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String clickedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String deliveredAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ Masked email w/ display name. """ fullTransformedEmail: String! """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! openedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String } """ Shipment details for an order """ type DeliveryInfo { """ Estimated delivery date saved on the order as date stringr """ estimatedDelivery: String """ Estimated delivery window saved on the otder as display text """ estimatedDeliveryWindow: String """ The carrier handling the shipment as saved on the order (e.g., UPS, FedEx, DHL, USPS) """ shipperName: String """ The tracking number for the shipment """ trackingNumber: String """ The URL to track the shipment """ trackingURL: String } type Department { id: ID! jobs: [Job!]! @deprecated name: String! } type DetectArtworkDuplicatesFailure { mutationError: GravityMutationError } input DetectArtworkDuplicatesMutationInput { clientMutationId: String """ Optional detection version to use """ detectionVersion: String """ The ID of the partner """ partnerId: String! } type DetectArtworkDuplicatesMutationPayload { clientMutationId: String detectArtworkDuplicatesResponseOrError: DetectArtworkDuplicatesResponseOrError } union DetectArtworkDuplicatesResponseOrError = DetectArtworkDuplicatesFailure | DetectArtworkDuplicatesSuccess type DetectArtworkDuplicatesSuccess { detectionVersion: String partnerId: String status: String } type Device { """ E.g., net.artsy.artsy """ appId: String! """ Unique ID for this device """ id: ID! """ Name of the device """ name: String! """ Either android or ios """ platform: String! """ If device is beta/dev or prod. """ production: Boolean! """ The device token """ token: String! } input DisableSecondFactorInput { clientMutationId: String password: String! secondFactorID: ID! } type DisableSecondFactorPayload { clientMutationId: String secondFactorOrErrors: SecondFactorOrErrorsUnion! } type DiscardNavigationDraftFailure { mutationError: GravityMutationError! } input DiscardNavigationDraftInput { clientMutationId: String """ The ID of the navigation version to discard """ versionID: String! } type DiscardNavigationDraftPayload { clientMutationId: String discardNavigationDraftResponseOrError: DiscardNavigationDraftResponseOrError! } union DiscardNavigationDraftResponseOrError = DiscardNavigationDraftFailure | DiscardNavigationDraftSuccess type DiscardNavigationDraftSuccess { success: Boolean! } """ A discovery category that contains artwork filters """ type DiscoveryArtworksWithFiltersCollection implements Node { """ The ID of the category """ category: String! """ A connection of artwork filters for this category """ filtersForArtworksConnection( after: String before: String first: Int last: Int ): FiltersForArtworksConnectionConnection """ The href of the category """ href: String! """ A globally unique ID. """ id: ID! """ The URL of the image representing this category """ imageUrl: String """ A type-specific ID """ internalID: String! """ The slug of the category """ slug: String """ The display title of the category """ title: String! } """ A connection to a list of items. """ type DiscoveryCategoriesConnectionConnection { """ A list of edges. """ edges: [DiscoveryCategoriesConnectionEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type DiscoveryCategoriesConnectionEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: DiscoveryCategory } """ A category for discovering and browsing art """ type DiscoveryCategory implements Node { """ The ID of the category """ category: String! """ A connection of artwork filters for this category """ filtersForArtworksConnection( after: String before: String first: Int last: Int ): FiltersForArtworksConnectionConnection """ The href of the category """ href: String! """ A globally unique ID. """ id: ID! """ The URL of the image representing this category """ imageUrl: String """ A type-specific ID """ internalID: String! """ The slug of the category """ slug: String """ The display title of the category """ title: String! } """ A union of different discovery category types """ union DiscoveryCategoryUnion = DiscoveryArtworksWithFiltersCollection | DiscoveryMarketingCollection """ A discovery category that contains marketing collections """ type DiscoveryMarketingCollection implements Node { """ The ID of the category """ category: String! """ The href of the category """ href: String! """ A globally unique ID. """ id: ID! """ The URL of the image representing this category """ imageUrl: String """ A type-specific ID """ internalID: String! """ Marketing collections for this discovery category """ marketingCollections( after: String before: String first: Int last: Int ): [MarketingCollection!]! """ The slug of the category """ slug: String """ The display title of the category """ title: String! } input DislikeArtworkInput { artworkID: String! clientMutationId: String remove: Boolean! } type DislikeArtworkPayload { artwork: Artwork clientMutationId: String me: Me! } type DismissArtworkDuplicatePairFailure { mutationError: GravityMutationError } input DismissArtworkDuplicatePairMutationInput { clientMutationId: String """ The ID of the artwork duplicate pair """ id: String! } type DismissArtworkDuplicatePairMutationPayload { artworkDuplicatePairOrError: DismissArtworkDuplicatePairResponseOrError clientMutationId: String } union DismissArtworkDuplicatePairResponseOrError = DismissArtworkDuplicatePairFailure | DismissArtworkDuplicatePairSuccess type DismissArtworkDuplicatePairSuccess { artworkDuplicatePair: ArtworkDuplicatePair } type DismissTaskFailure { mutationError: GravityMutationError! } input DismissTaskMutationInput { clientMutationId: String id: String! } type DismissTaskMutationPayload { clientMutationId: String homeViewTasksSection: HomeViewSectionTasks """ On success: the new state of the Task """ taskOrError: DismissTaskResponseOrError! } union DismissTaskResponseOrError = DismissTaskFailure | DismissTaskSuccess type DismissTaskSuccess { task: Task! } """ Display texts for the order based on its seller_state and order shipping states """ type DisplaySellerTexts { """ Text prompt for the seller to take action """ actionPrompt: String """ State name for conversation display """ conversationStateTitle: String! """ Icon name to display for the order state (e.g. ClockFillIcon, CheckmarkIcon, CloseStrokeIcon) """ icon: String """ Whether the action should be displayed as primary or secondary """ isPrimaryAction: Boolean """ Seller facing name for the state """ stateName: String! } """ Display texts for the order based on its state and order shipping/payment states """ type DisplayTexts { """ Text prompt for the buyer to take action """ actionPrompt: String """ Granular order states specific type that should be directly interpreted by clients """ messageType: DisplayTextsMessageTypeEnum! """ Collector facing name for buyer state """ stateName: String! """ Text to display as a first message on the page (header) """ title: String! } enum DisplayTextsMessageTypeEnum { APPROVED_PICKUP APPROVED_SHIP APPROVED_SHIP_EXPRESS APPROVED_SHIP_STANDARD APPROVED_SHIP_WHITE_GLOVE CANCELED COMPLETED_PICKUP COMPLETED_SHIP COUNTEROFFER_SENT DECLINED_BY_BUYER DECLINED_BY_SELLER OFFER_RECEIVED PAYMENT_FAILED PROCESSING_PAYMENT_PICKUP PROCESSING_PAYMENT_SHIP PROCESSING_WIRE REFUNDED SHIPPED SUBMITTED_OFFER SUBMITTED_ORDER UNKNOWN } type DistributePartnerListFailure { mutationError: GravityMutationError } input DistributePartnerListMutationInput { clientMutationId: String """ The ID of the partner list. """ id: String! } type DistributePartnerListMutationPayload { clientMutationId: String """ On success: the distributed partner list. On error: the error that occurred. """ partnerListOrError: DistributePartnerListResponseOrError } union DistributePartnerListResponseOrError = DistributePartnerListFailure | DistributePartnerListSuccess type DistributePartnerListSuccess { partnerList: PartnerList } """ The type of domestic shipping option """ enum DomesticType { """ Artsy handles domestic shipping """ ARTSY_SHIPPING """ Flat fee for domestic shipping """ FLAT_FEE """ Free domestic shipping """ FREE_SHIPPING } input EditableLocation { """ First line of an address """ address: String """ Second line of an address """ address2: String """ The city the location is based in """ city: String """ The optional location coordinates. [lat, lng] """ coordinates: [Float!] """ The county the location is based in """ country: String """ The county code of the location is based in """ countryCode: String """ Postal code for a string """ postalCode: String """ The (optional) name of the state for location """ state: String """ The (optional) state code of the state for location """ stateCode: String """ An optional display string for the location """ summary: String } type EditionSet implements Sellable { artistProofs: String availability: String availableEditions: [String] depth: String diameter: String dimensions: dimensions """ The edition set parent-artwork display label (title) """ displayLabel: String displayPriceRange: Boolean duration: String editionOf: String editionSize: String framedDepth: String framedDiameter: String framedDimensions: dimensions framedHeight: String framedMetric: String framedWidth: String height: String """ If you need to render artwork dimensions as a string, prefer the `Artwork#dimensions` field """ heightCm: Float """ A globally unique ID. """ id: ID! """ Price for internal partner display, requires partner access """ internalDisplayPrice: String """ A type-specific ID likely used as a database ID. """ internalID: ID! inventory: EditionSetInventory isAcquireable: Boolean isForSale: Boolean """ Is the edition set parent-artwork part of an auction? """ isInAuction: Boolean """ Is the edition set parent-artwork inquireable? """ isInquireable: Boolean isOfferable: Boolean isOfferableFromInquiry: Boolean isPriceHidden: Boolean isSold: Boolean listPrice: ListPrice """ In CMS, has the artwork been marked as BNMO? """ listingOptions: ArtworkListingOptions """ The unit of length of the edition set, expressed in `in` or `cm` """ metric: String price: String priceDisplay: String priceListed: Money priceMax: Money priceMin: Money prototypes: String """ Is the edition set parent-artwork published? """ published: Boolean saleMessage: String shippingWeight: String shippingWeightMetric: String """ size bucket assigned to an artwork based on its dimensions """ sizeBucket: String """ score assigned to an artwork based on its dimensions """ sizeScore: Float width: String """ If you need to render artwork dimensions as a string, prefer the `Artwork#dimensions` field """ widthCm: Float } type EditionSetInventory { count: Int isUnlimited: Boolean } enum EditionSetSorts { PRICE_ASC } input EnableSecondFactorInput { clientMutationId: String code: String! password: String! secondFactorID: ID! } type EnableSecondFactorPayload { clientMutationId: String recoveryCodes: [String!] secondFactorOrErrors: SecondFactorOrErrorsUnion! } input EndSaleInput { clientMutationId: String saleID: String } type EndSalePayload { clientMutationId: String sale: Sale } interface EntityWithFilterArtworksConnectionInterface { filterArtworksConnection( acquireable: Boolean additionalGeneIDs: [String] after: String aggregationPartnerCities: [String] aggregations: [ArtworkAggregation] artistID: String artistIDs: [String] artistNationalities: [String] artistSeriesID: String artistSeriesIDs: [String] artsyListing: Boolean """ When provided, will only return artworks with these IDs. """ artworkIDs: [String] atAuction: Boolean attributionClass: [String] availability: String before: String categories: [String] """ Filter by certificate of authenticity. Accepted values: gallery, authenticating_body, no. """ certificateOfAuthenticity: String color: String colors: [String] """ Filter by artwork completeness tiers. Accepts multiple values. """ completenessTier: [String] """ When true, will only return artworks carrying the Curators' Pick collector signal. Cannot be combined with `marketingCollectionID`. """ curatorsPick: Boolean dimensionRange: String """ When true, will skip pushing sold works to the back of the list. Useful in a CMS context. """ disableNotForSaleSorting: Boolean excludeArtworkIDs: [String] extraAggregationGeneIDs: [String] first: Int forSale: Boolean """ When true, will only return framed artworks. """ framed: Boolean geneID: String geneIDs: [String] height: String """ Hybrid only: how many candidates the semantic arm retrieves. Higher = wider semantic net. """ hybridNeuralK: Int """ Hybrid only: results each arm contributes to the blend; must be ≥ from + page size. Caps pagination depth. """ hybridPaginationDepth: Int """ Hybrid only: [lexical, neural] balance when blending scores, e.g. [0.5,0.5] equal, [0.3,0.7] favors semantic. """ hybridWeights: [Float!] importSources: [String] includeAllJSON: Boolean includeArtworksByFollowedArtists: Boolean includeMediumFilterInAggregation: Boolean """ Include artworks not listed on Artsy (artsy_listing: false). """ includeNonArtsyListed: Boolean includeUnpublished: Boolean """ When true, will only return artworks carrying the Increased Interest collector signal. """ increasedInterest: Boolean inquireableOnly: Boolean keyword: String """ When true, will only return exact keyword match """ keywordMatchExact: Boolean """ When true and a `keyword` search returns no results, retries once with typo tolerance. Ignored with `keywordMatchExact`. """ keywordTypoTolerance: Boolean last: Int locationCities: [String] locationId: String majorPeriods: [String] """ When true, will only return `marketable` works (not nude or provocative). """ marketable: Boolean marketingCollectionID: String materialsTerms: [String] """ A string from the list of allocations, or * to denote all mediums """ medium: String offerable: Boolean page: Int partnerCities: [String] partnerID: ID partnerIDs: [String] partnerListID: String period: String periods: [String] priceRange: String """ When false, will only return unpublished artworks for authorized users. """ published: Boolean saleID: ID showID: String """ When true, will only return signed artworks. """ signed: Boolean size: Int """ Filter results by Artwork sizes """ sizes: [ArtworkSizes] sold: Boolean sort: String tagID: String """ Search strategy. 'hybrid' blends semantic (meaning-based) results into the keyword search. Requires a keyword; team-only. """ variant: String viewingRoomID: ID visibilityLevel: String width: String ): FilterArtworksConnection """ A globally unique ID. """ id: ID! } type Error { """ Error code """ code: String! """ Extra data about error. """ data: JSON """ A description of the error """ message: String! """ Which input value this error came from """ path: [String!] } type ErrorIdentifier { """ The type of error (e.g. MISSING_ARTIST, INVALID_PRICE) """ errorType: ArtworkImportError! """ The line number (position) of the row in the original CSV """ lineNumber: Int! """ The ID of the row with this error """ rowId: String! } type ErrorIdentifiers { """ Array of blocking errors with errorType and rowId. Frontend constructs error IDs for UI cycling. """ blocking: [ErrorIdentifier!]! """ Array of non-blocking errors with errorType and rowId. Frontend constructs error IDs for UI cycling. """ nonBlocking: [ErrorIdentifier!]! } type ErrorTypeCount { """ Whether this error stops artwork creation """ blocking: Boolean! """ The number of times that this error appears """ count: Int! """ The type of error (e.g. MISSING_ARTIST, INVALID_PRICE) """ errorType: ArtworkImportError! } type Errors { errors: [Error!]! } enum EventStatus { """ Load all shows """ ALL """ End date is in the past """ CLOSED """ End date is in near future """ CLOSING_SOON """ Start date or end date is in the future """ CURRENT """ Start date is in the past and end date is in the future """ RUNNING """ Special filtering option which is used to show running and upcoming shows """ RUNNING_AND_UPCOMING """ Start date is in the future """ UPCOMING } type ExchangeError { code: String! message: String! } type ExcludeArtistFromDiscoveryFailure { mutationError: GravityMutationError } input ExcludeArtistFromDiscoveryInput { artistId: String! clientMutationId: String } type ExcludeArtistFromDiscoveryPayload { clientMutationId: String """ On success: the excluded artist information. """ excludeArtistFromDiscoveryOrError: ExcludeArtistFromDiscoveryResponseOrError } union ExcludeArtistFromDiscoveryResponseOrError = ExcludeArtistFromDiscoveryFailure | ExcludeArtistFromDiscoverySuccess type ExcludeArtistFromDiscoverySuccess { artistId: String } enum ExhibitionPeriodFormat { """ Long formatted period e.g. February 25 – May 24, 2015 """ LONG """ Short formatted period e.g. Feb 25 - May 24, 2015 """ SHORT } type External { auctionHouses(size: Int, term: String): [ExternalAuctionHouse!]! fairs(size: Int, term: String): [ExternalFair!]! galleries( """ Limit results to only galleries on Artsy """ artsyOnly: Boolean = true size: Int term: String ): [ExternalGallery!]! } type ExternalAuctionHouse { city: String country: String """ A globally unique ID. """ id: ID! """ A type-specific ID. """ internalID: ID! name: String! } type ExternalFair { city: String country: String endAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ A globally unique ID. """ id: ID! """ A type-specific ID. """ internalID: ID! name: String! startAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String } type ExternalGallery { city: String """ A globally unique ID. """ id: ID! """ A type-specific ID. """ internalID: ID! name: String! partner: Partner region: String } type ExternalPartner { city: String """ A globally unique ID. """ id: ID! """ A type-specific ID. """ internalID: ID! name: String } type Fair implements EntityWithFilterArtworksConnectionInterface & Node { about(format: Format): String activeStartAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String articlesConnection( after: String before: String first: Int """ Get only articles with 'standard', 'feature', 'series' or 'video' layouts. """ inEditorialFeed: Boolean last: Int page: Int size: Int sort: ArticleSorts ): ArticleConnection artistsConnection( after: String before: String first: Int last: Int """ Sorts for artists in a fair """ sort: FairArtistSorts ): ArtistConnection autopublishArtworksAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String bannerSize: String cached: Int contact(format: Format): String counts: FairCounts endAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ A formatted description of the start to end dates """ exhibitionPeriod( """ Formatting option to apply to exhibition period """ format: ExhibitionPeriodFormat = LONG ): String """ The exhibitors with booths in this fair with letter. """ exhibitorsGroupedByName: [FairExhibitorsGroup] """ Suggested filters for associated artworks """ featuredKeywords: [String!]! """ Artworks Elastic Search results """ filterArtworksConnection( acquireable: Boolean additionalGeneIDs: [String] after: String aggregationPartnerCities: [String] aggregations: [ArtworkAggregation] artistID: String artistIDs: [String] artistNationalities: [String] artistSeriesID: String artistSeriesIDs: [String] artsyListing: Boolean """ When provided, will only return artworks with these IDs. """ artworkIDs: [String] atAuction: Boolean attributionClass: [String] availability: String before: String categories: [String] """ Filter by certificate of authenticity. Accepted values: gallery, authenticating_body, no. """ certificateOfAuthenticity: String color: String colors: [String] """ Filter by artwork completeness tiers. Accepts multiple values. """ completenessTier: [String] """ When true, will only return artworks carrying the Curators' Pick collector signal. Cannot be combined with `marketingCollectionID`. """ curatorsPick: Boolean dimensionRange: String """ When true, will skip pushing sold works to the back of the list. Useful in a CMS context. """ disableNotForSaleSorting: Boolean excludeArtworkIDs: [String] extraAggregationGeneIDs: [String] first: Int forSale: Boolean """ When true, will only return framed artworks. """ framed: Boolean geneID: String geneIDs: [String] height: String """ Hybrid only: how many candidates the semantic arm retrieves. Higher = wider semantic net. """ hybridNeuralK: Int """ Hybrid only: results each arm contributes to the blend; must be ≥ from + page size. Caps pagination depth. """ hybridPaginationDepth: Int """ Hybrid only: [lexical, neural] balance when blending scores, e.g. [0.5,0.5] equal, [0.3,0.7] favors semantic. """ hybridWeights: [Float!] importSources: [String] includeAllJSON: Boolean includeArtworksByFollowedArtists: Boolean includeMediumFilterInAggregation: Boolean """ Include artworks not listed on Artsy (artsy_listing: false). """ includeNonArtsyListed: Boolean includeUnpublished: Boolean """ When true, will only return artworks carrying the Increased Interest collector signal. """ increasedInterest: Boolean input: FilterArtworksInput inquireableOnly: Boolean keyword: String """ When true, will only return exact keyword match """ keywordMatchExact: Boolean """ When true and a `keyword` search returns no results, retries once with typo tolerance. Ignored with `keywordMatchExact`. """ keywordTypoTolerance: Boolean last: Int locationCities: [String] locationId: String majorPeriods: [String] """ When true, will only return `marketable` works (not nude or provocative). """ marketable: Boolean marketingCollectionID: String materialsTerms: [String] """ A string from the list of allocations, or * to denote all mediums """ medium: String offerable: Boolean page: Int partnerCities: [String] partnerID: ID partnerIDs: [String] partnerListID: String period: String periods: [String] priceRange: String """ When false, will only return unpublished artworks for authorized users. """ published: Boolean saleID: ID showID: String """ When true, will only return signed artworks. """ signed: Boolean size: Int """ Filter results by Artwork sizes """ sizes: [ArtworkSizes] sold: Boolean sort: String tagID: String """ Search strategy. 'hybrid' blends semantic (meaning-based) results into the keyword search. Requires a keyword; team-only. """ variant: String viewingRoomID: ID visibilityLevel: String width: String ): FilterArtworksConnection followedContent: FollowedContent """ A formatted description of when the fair starts or closes or if it is closed """ formattedOpeningHours: String hasFullFeature: Boolean hasHomepageSection: Boolean hasLargeBanner: Boolean hasListing: Boolean hours(format: Format): String href: String """ A globally unique ID. """ id: ID! image: Image """ A type-specific ID likely used as a database ID. """ internalID: ID! """ Are we currently in the fair's active period? """ isActive: Boolean """ When true, the fair is considered evergreen and not bound to specific dates. """ isEvergreen: Boolean! isPublished: Boolean links(format: Format): String location: Location marketingCollectionSlugs: [String]! marketingCollections( """ Number of artworks to return """ size: Int ): [MarketingCollection]! mobileImage: Image name: String organizer: FairOrganizer profile: Profile """ This connection only supports forward pagination. We're replacing Relay's default cursor with one from Gravity. """ showsConnection( after: String before: String first: Int last: Int page: Int """ Number of artworks to return """ section: String """ Sorts for shows in a fair """ sort: ShowSorts totalCount: Boolean = false ): ShowConnection """ A slug ID. """ slug: ID! sponsoredContent: FairSponsoredContent startAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String summary(format: Format): String tagline: String tickets(format: Format): String ticketsLink: String } enum FairArtistSorts { NAME_ASC NAME_DESC } """ A connection to a list of items. """ type FairConnection { """ A list of edges. """ edges: [FairEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } type FairCounts { artists( """ Returns a `String` when format is specified. e.g.`'0,0.0000''` """ format: String label: String ): FormattedNumber artworks( """ Returns a `String` when format is specified. e.g.`'0,0.0000''` """ format: String label: String ): FormattedNumber partnerShows( """ Returns a `String` when format is specified. e.g.`'0,0.0000''` """ format: String label: String ): FormattedNumber partners( """ Returns a `String` when format is specified. e.g.`'0,0.0000''` """ format: String label: String ): FormattedNumber } """ An edge in a connection. """ type FairEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: Fair } type FairExhibitor { """ Exhibitor name """ name: String partner: Partner """ Exhibitors _id """ partnerID: String """ Partner default profile id """ profileID: String """ A slug ID. """ slug: ID! } type FairExhibitorsGroup { """ The exhibitor data. """ exhibitors: [FairExhibitor] """ Letter exhibitors group belongs to """ letter: String } type FairOrganizer { about(format: Format): String """ A connection of articles related to a partner. """ articlesConnection( after: String before: String first: Int """ Get only articles with with 'standard', 'feature', 'series' or 'video' layouts. """ inEditorialFeed: Boolean last: Int page: Int sort: ArticleSorts ): ArticleConnection fairsConnection( after: String before: String first: Int hasFullFeature: Boolean hasHomepageSection: Boolean hasListing: Boolean last: Int sort: FairSorts status: EventStatus ): FairConnection """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! name: String profile: Profile profileID: ID """ A slug ID. """ slug: ID! website: String } enum FairSorts { CREATED_AT_ASC CREATED_AT_DESC NAME_ASC NAME_DESC START_AT_ASC START_AT_DESC } type FairSponsoredContent { activationText: String pressReleaseUrl: String } """ A Feature """ type Feature { callout(format: Format): String description(format: Format): String """ A globally unique ID. """ id: ID! image: Image """ A type-specific ID likely used as a database ID. """ internalID: ID! isActive: Boolean! layout: FeatureLayouts! meta: FeatureMeta! metaTitle: String name: String! """ Features are composed of sets, which are themselves composed of items of various types """ setsConnection( after: String before: String first: Int last: Int sort: OrderedSetSorts = KEY_ASC ): OrderedSetConnection """ A slug ID. """ slug: ID! subheadline(format: Format): String video: FeatureVideo } """ A connection to a list of items. """ type FeatureConnection { """ A list of edges. """ edges: [FeatureEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type FeatureEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: Feature } """ An admin-facing feature flag, used for managing releases, experiments, etc. """ type FeatureFlag { createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String description: String environments: [FeatureFlagEnvironments] """ A globally unique ID. """ id: ID! impressionData: Boolean! lastSeenAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String name: String! project: String! stale: Boolean! type: String! variants: [FeatureFlagVariantType] } type FeatureFlagConstraint { caseInsensitive: Boolean contextName: String inverted: Boolean operator: String """ The Partners referenced by this constraint's values, resolved when contextName is `partnerId` """ partnerConnection( after: String before: String first: Int last: Int ): PartnerConnection value: String values: [String] } type FeatureFlagEnvironments { enabled: Boolean! name: String! strategies: [FeatureFlagStrategy] } type FeatureFlagSegment { constraints: [FeatureFlagConstraint] description: String internalID: Int name: String } type FeatureFlagStrategy { constraints: [FeatureFlagConstraint] name: String parameters: JSON """ Constraints applied to this strategy via a reusable, named Unleash segment (as opposed to inline constraints) """ segments: [FeatureFlagSegment] } input FeatureFlagStrategyInput { rollOut: Int = 100 strategyType: FeatureFlagStrategyType } enum FeatureFlagStrategyType { """ Simple on/off flag """ DEFAULT """ For A/B tests, where you can specify a percentage of users to be served a variant """ FLEXIBLE_ROLLOUT } enum FeatureFlagToggleType { EXPERIMENT RELEASE } input FeatureFlagVariantInputName { name: String! stickiness: String = "sessionId" weight: Int! weightType: FeatureFlagVariantWeightType } type FeatureFlagVariantType { name: String stickiness: String weight: Int weightType: String } enum FeatureFlagVariantWeightType { VARIABLE } enum FeatureFlagsSortBy { CREATED_AT NAME } enum FeatureLayouts { DEFAULT FULL } """ Meta-tag related fields for Features """ type FeatureMeta { description: String! image: String name: String! @deprecated(reason: "Use `title` instead") title: String! } enum FeatureSorts { CREATED_AT_ASC CREATED_AT_DESC NAME_ASC NAME_DESC } type FeatureVideo { """ Only YouTube and Vimeo are supported """ embed(autoPlay: Boolean = false): String url: String! } """ An illustrated link chosen to highlight a Gene from a given GeneFamily """ type FeaturedGeneLink { href: String! image: Image internalID: String! title: String! } type FeaturedLink { description(format: Format): String """ Parses the `href` to get the underlying entity """ entity: FeaturedLinkEntity href: String """ A globally unique ID. """ id: ID! image: Image initials(length: Int = 3): String """ A type-specific ID likely used as a database ID. """ internalID: ID! subtitle(format: Format): String title: String } """ A connection to a list of items. """ type FeaturedLinkConnection { """ A list of edges. """ edges: [FeaturedLinkEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type FeaturedLinkEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: FeaturedLink } union FeaturedLinkEntity = Artist | Gene | Partner type Feedback { """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! """ Feedback message """ message: String! } type FieldErrorResults { message: String! name: String! } """ A connection to a list of items. """ type FilterArtworksConnection implements ArtworkConnectionInterface & Node { """ Returns aggregation counts for the given filter query. """ aggregations: [ArtworksAggregationResults] counts: FilterArtworksCounts """ A list of edges. """ edges: [FilterArtworksEdge] facet: ArtworkFilterFacet """ Artwork results. """ hits: [Artwork] @deprecated(reason: "Prefer to use `edges`. [Will be removed in v2]") """ The ID of the object. """ id: ID! """ Returns a list of merchandisable artists sorted by merch score. """ merchandisableArtists( """ The number of artists to return """ size: Int = 12 ): [Artist] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! } type FilterArtworksCounts { followedArtists( """ Returns a `String` when format is specified. e.g.`'0,0.0000''` """ format: String label: String ): FormattedNumber total( """ Returns a `String` when format is specified. e.g.`'0,0.0000''` """ format: String label: String ): FormattedNumber } """ An edge in a connection. """ type FilterArtworksEdge implements ArtworkEdgeInterface { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: Artwork } input FilterArtworksInput { acquireable: Boolean additionalGeneIDs: [String] after: String aggregationPartnerCities: [String] aggregations: [ArtworkAggregation] artistID: String artistIDs: [String] artistNationalities: [String] artistSeriesID: String artistSeriesIDs: [String] artsyListing: Boolean """ When provided, will only return artworks with these IDs. """ artworkIDs: [String] atAuction: Boolean attributionClass: [String] availability: String before: String categories: [String] """ Filter by certificate of authenticity. Accepted values: gallery, authenticating_body, no. """ certificateOfAuthenticity: String color: String colors: [String] """ Filter by artwork completeness tiers. Accepts multiple values. """ completenessTier: [String] """ When true, will only return artworks carrying the Curators' Pick collector signal. Cannot be combined with `marketingCollectionID`. """ curatorsPick: Boolean dimensionRange: String """ When true, will skip pushing sold works to the back of the list. Useful in a CMS context. """ disableNotForSaleSorting: Boolean excludeArtworkIDs: [String] extraAggregationGeneIDs: [String] first: Int forSale: Boolean """ When true, will only return framed artworks. """ framed: Boolean geneID: String geneIDs: [String] height: String """ Hybrid only: how many candidates the semantic arm retrieves. Higher = wider semantic net. """ hybridNeuralK: Int """ Hybrid only: results each arm contributes to the blend; must be ≥ from + page size. Caps pagination depth. """ hybridPaginationDepth: Int """ Hybrid only: [lexical, neural] balance when blending scores, e.g. [0.5,0.5] equal, [0.3,0.7] favors semantic. """ hybridWeights: [Float!] importSources: [String] includeAllJSON: Boolean includeArtworksByFollowedArtists: Boolean includeMediumFilterInAggregation: Boolean """ Include artworks not listed on Artsy (artsy_listing: false). """ includeNonArtsyListed: Boolean includeUnpublished: Boolean """ When true, will only return artworks carrying the Increased Interest collector signal. """ increasedInterest: Boolean inquireableOnly: Boolean keyword: String """ When true, will only return exact keyword match """ keywordMatchExact: Boolean """ When true and a `keyword` search returns no results, retries once with typo tolerance. Ignored with `keywordMatchExact`. """ keywordTypoTolerance: Boolean last: Int locationCities: [String] locationId: String majorPeriods: [String] """ When true, will only return `marketable` works (not nude or provocative). """ marketable: Boolean marketingCollectionID: String materialsTerms: [String] """ A string from the list of allocations, or * to denote all mediums """ medium: String offerable: Boolean page: Int partnerCities: [String] partnerID: ID partnerIDs: [String] partnerListID: String period: String periods: [String] priceRange: String """ When false, will only return unpublished artworks for authorized users. """ published: Boolean saleID: ID showID: String """ When true, will only return signed artworks. """ signed: Boolean size: Int """ Filter results by Artwork sizes """ sizes: [ArtworkSizes] sold: Boolean sort: String tagID: String """ Search strategy. 'hybrid' blends semantic (meaning-based) results into the keyword search. Requires a keyword; team-only. """ variant: String viewingRoomID: ID visibilityLevel: String width: String } type FilterPartners { aggregations: [PartnersAggregationResults] hits: [Partner] total: Int } type FilterSaleArtworksCounts { followedArtists( """ Returns a `String` when format is specified. e.g.`'0,0.0000''` """ format: String label: String ): FormattedNumber total( """ Returns a `String` when format is specified. e.g.`'0,0.0000''` """ format: String label: String ): FormattedNumber } """ A connection to a list of items. """ type FiltersForArtworksConnectionConnection { """ A list of edges. """ edges: [FiltersForArtworksConnectionEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type FiltersForArtworksConnectionEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: ArtworkFilterNode } type FollowArtist { artist: Artist auto: Boolean """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! } """ A connection to a list of items. """ type FollowArtistConnection { """ A list of edges. """ edges: [FollowArtistEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } type FollowArtistCounts { artists: Int } """ An edge in a connection. """ type FollowArtistEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: FollowArtist } input FollowArtistInput { artistID: String! clientMutationId: String unfollow: Boolean = false } type FollowArtistPayload { artist: Artist clientMutationId: String me: Me! """ Popular artists """ popularArtists( """ Exclude these ids from results, may result in all artists being excluded. """ excludeArtistIDs: [String] """ If true, will exclude followed artists for the user """ excludeFollowedArtists: Boolean """ Number of results to return """ size: Int ): [Artist] } type FollowArtists { artists: [Artist] counts: FollowArtistCounts } type FollowGene { gene: Gene """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! } """ A connection to a list of items. """ type FollowGeneConnection { """ A list of edges. """ edges: [FollowGeneEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type FollowGeneEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: FollowGene } input FollowGeneInput { clientMutationId: String geneID: String unfollow: Boolean = false } type FollowGenePayload { clientMutationId: String gene: Gene } input FollowProfileInput { clientMutationId: String profileID: String unfollow: Boolean = false } type FollowProfilePayload { clientMutationId: String me: Me! profile: Profile } input FollowShowInput { clientMutationId: String partnerShowID: String unfollow: Boolean = false } type FollowShowPayload { clientMutationId: String show: Show } type FollowedArtistsArtworksGroup implements Node { artists: String artworksConnection( after: String before: String first: Int last: Int ): ArtworkConnection href: String """ A globally unique ID. """ id: ID! image: Image publishedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String summary: String } """ A connection to a list of items. """ type FollowedArtistsArtworksGroupConnection { """ A list of edges. """ edges: [FollowedArtistsArtworksGroupEdge] """ Information to aid in pagination. """ pageInfo: PageInfo! } """ An edge in a connection. """ type FollowedArtistsArtworksGroupEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: FollowedArtistsArtworksGroup } type FollowedContent { artists: [Artist] galleries: [Partner] } """ A connection to a list of items. """ type FollowedFairConnection { """ A list of edges. """ edges: [FollowedFairEdge] """ Information to aid in pagination. """ pageInfo: PageInfo! } """ An edge in a connection. """ type FollowedFairEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: Fair } """ A connection to a list of items. """ type FollowedGalleryConnection { """ A list of edges. """ edges: [FollowedGalleryEdge] """ Information to aid in pagination. """ pageInfo: PageInfo! } """ An edge in a connection. """ type FollowedGalleryEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: Partner } type FollowedProfile { """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! profile: Profile! } """ A connection to a list of items. """ type FollowedProfileConnection { """ A list of edges. """ edges: [FollowedProfileEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type FollowedProfileEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: FollowedProfile } """ A connection to a list of items. """ type FollowedShowConnection { """ A list of edges. """ edges: [FollowedShowEdge] """ Information to aid in pagination. """ pageInfo: PageInfo! } """ An edge in a connection. """ type FollowedShowEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: Show } type FollowsAndSaves { """ A Connection of followed artists by current user """ artistsConnection( after: String before: String fairID: String first: Int last: Int page: Int size: Int ): FollowArtistConnection artworksConnection( after: String before: String first: Int last: Int page: Int private: Boolean = false size: Int sort: CollectionArtworkSorts = POSITION_DESC ): SavedArtworksConnection """ A list of published artworks by followed artists (grouped by date and artists). """ bundledArtworksByArtistConnection( after: String before: String first: Int forSale: Boolean last: Int sort: ArtworkSorts ): FollowedArtistsArtworksGroupConnection """ A list of the current user’s currently followed fair profiles """ fairsConnection( after: String before: String first: Int last: Int ): FollowedFairConnection """ A list of the current user’s currently followed gallery profiles """ galleriesConnection( after: String before: String first: Int last: Int ): FollowedGalleryConnection """ A list of the current user’s inquiry requests """ genesConnection( after: String before: String first: Int last: Int page: Int size: Int ): FollowGeneConnection """ A list of the current user’s currently followed partner profiles """ profilesConnection( after: String before: String first: Int last: Int page: Int size: Int ): FollowedProfileConnection """ A list of the current user’s currently followed shows """ showsConnection( after: String before: String """ A string representing one of the supported cities """ city: String """ Number of days which will be used to filter upcoming and closing soon shows """ dayThreshold: Int first: Int last: Int status: EventStatus ): FollowedShowConnection } enum Format { HTML MARKDOWN PLAIN } type FormattedDaySchedules { days: String hours: String } """ The `FormattedNumber` type represents a number that can optionally be returnedas a formatted String. It does not try to coerce the type. """ scalar FormattedNumber enum FromParticipantEnum { BUYER SELLER } """ Buyer fulfillment details for order """ type FulfillmentDetails { """ Shipping address line 1 """ addressLine1: String """ Shipping address line 2 """ addressLine2: String """ Shipping address city """ city: String """ Shipping address country """ country: String """ Name line for shipping address """ name: String """ Phone number of the buyer """ phoneNumber: PhoneNumberType """ Country code of the buyer's phone number """ phoneNumberCountryCode: String @deprecated( reason: "Use `phoneNumber.regionCode` for the alpha-2 country code or phoneNumber.countryCode for the numeric country code" ) """ Shipping address postal code """ postalCode: String """ Shipping address state/province/region """ region: String } type FulfillmentOption { amount: Money selected: Boolean shippingQuoteId: String type: FulfillmentOptionTypeEnum! } input FulfillmentOptionInput { type: FulfillmentOptionInputEnum! } enum FulfillmentOptionInputEnum { ARTSY_EXPRESS ARTSY_STANDARD ARTSY_WHITE_GLOVE DOMESTIC_FLAT INTERNATIONAL_FLAT PICKUP SHIPPING_TBD } enum FulfillmentOptionTypeEnum { ARTSY_EXPRESS ARTSY_STANDARD ARTSY_WHITE_GLOVE DOMESTIC_FLAT INTERNATIONAL_FLAT PICKUP SHIPPING_TBD } """ An entry from gemini """ type GeminiEntry { """ The token that represents the gemini entry. """ token: String! } type Gene implements Node & Searchable { artistsConnection( after: String before: String first: Int last: Int ): ArtistConnection cached: Int description(format: Format): String displayLabel: String displayName: String """ Artworks Elastic Search results """ filterArtworksConnection( acquireable: Boolean additionalGeneIDs: [String] after: String aggregationPartnerCities: [String] aggregations: [ArtworkAggregation] artistID: String artistIDs: [String] artistNationalities: [String] artistSeriesID: String artistSeriesIDs: [String] artsyListing: Boolean """ When provided, will only return artworks with these IDs. """ artworkIDs: [String] atAuction: Boolean attributionClass: [String] availability: String before: String categories: [String] """ Filter by certificate of authenticity. Accepted values: gallery, authenticating_body, no. """ certificateOfAuthenticity: String color: String colors: [String] """ Filter by artwork completeness tiers. Accepts multiple values. """ completenessTier: [String] """ When true, will only return artworks carrying the Curators' Pick collector signal. Cannot be combined with `marketingCollectionID`. """ curatorsPick: Boolean dimensionRange: String """ When true, will skip pushing sold works to the back of the list. Useful in a CMS context. """ disableNotForSaleSorting: Boolean excludeArtworkIDs: [String] extraAggregationGeneIDs: [String] first: Int forSale: Boolean """ When true, will only return framed artworks. """ framed: Boolean geneID: String geneIDs: [String] height: String """ Hybrid only: how many candidates the semantic arm retrieves. Higher = wider semantic net. """ hybridNeuralK: Int """ Hybrid only: results each arm contributes to the blend; must be ≥ from + page size. Caps pagination depth. """ hybridPaginationDepth: Int """ Hybrid only: [lexical, neural] balance when blending scores, e.g. [0.5,0.5] equal, [0.3,0.7] favors semantic. """ hybridWeights: [Float!] importSources: [String] includeAllJSON: Boolean includeArtworksByFollowedArtists: Boolean includeMediumFilterInAggregation: Boolean """ Include artworks not listed on Artsy (artsy_listing: false). """ includeNonArtsyListed: Boolean includeUnpublished: Boolean """ When true, will only return artworks carrying the Increased Interest collector signal. """ increasedInterest: Boolean input: FilterArtworksInput inquireableOnly: Boolean keyword: String """ When true, will only return exact keyword match """ keywordMatchExact: Boolean """ When true and a `keyword` search returns no results, retries once with typo tolerance. Ignored with `keywordMatchExact`. """ keywordTypoTolerance: Boolean last: Int locationCities: [String] locationId: String majorPeriods: [String] """ When true, will only return `marketable` works (not nude or provocative). """ marketable: Boolean marketingCollectionID: String materialsTerms: [String] """ A string from the list of allocations, or * to denote all mediums """ medium: String offerable: Boolean page: Int partnerCities: [String] partnerID: ID partnerIDs: [String] partnerListID: String period: String periods: [String] priceRange: String """ When false, will only return unpublished artworks for authorized users. """ published: Boolean saleID: ID showID: String """ When true, will only return signed artworks. """ signed: Boolean size: Int """ Filter results by Artwork sizes """ sizes: [ArtworkSizes] sold: Boolean sort: String tagID: String """ Search strategy. 'hybrid' blends semantic (meaning-based) results into the keyword search. Requires a keyword; team-only. """ variant: String viewingRoomID: ID visibilityLevel: String width: String ): FilterArtworksConnection href: String """ A globally unique ID. """ id: ID! image: Image imageUrl: String """ A type-specific ID likely used as a database ID. """ internalID: ID! isFollowed: Boolean isPublished: Boolean meta: GeneMeta! mode: String name: String """ A list of genes similar to the specified gene """ similar( after: String before: String """ Array of gene ids (not slugs) to exclude, may result in all genes being excluded. """ excludeGeneIDs: [String] first: Int last: Int ): GeneConnection """ A slug ID. """ slug: ID! trendingArtists(sample: Int): [Artist] } """ A connection to a list of items. """ type GeneConnection { """ A list of edges. """ edges: [GeneEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type GeneEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: Gene } """ A user-facing thematic grouping of Genes """ type GeneFamily { featuredGeneLinks: [FeaturedGeneLink] genes: [Gene] """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! name: String! """ A slug ID. """ slug: ID! } """ A connection to a list of items. """ type GeneFamilyConnection { """ A list of edges. """ edges: [GeneFamilyEdge] """ Information to aid in pagination. """ pageInfo: PageInfo! } """ An edge in a connection. """ type GeneFamilyEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: GeneFamily } """ Meta tags for Gene pages """ type GeneMeta { description: String! } type GravityARImage { height: Int imageURLs: GravityImageURLs internalID: String! width: Int } type GravityImageURLs { normalized: String } type GravityMutationError { detail: String error: String fieldErrors: [FieldErrorResults] message: String! statusCode: Int type: String } type GuidedTourChecklist { completedCount: Int! items: [GuidedTourChecklistItem!]! totalCount: Int! } type GuidedTourChecklistItem { key: String! showMeHowTour: GuidedTourTour state: GuidedTourChecklistItemState! title: String! } enum GuidedTourChecklistItemState { COMPLETE INCOMPLETE } enum GuidedTourContext { CATALOG_OS } enum GuidedTourEventType { CHECKLIST_ITEM_COMPLETED STEP_VIEWED TOUR_COMPLETED TOUR_DISMISSED TOUR_STARTED } enum GuidedTourState { COMPLETED DISMISSED IN_PROGRESS NOT_STARTED } """ A user's guided tour state for a context, server-driven. """ type GuidedTourStateView { """ The single step to render now, or null when no required tour is active. """ activeStep: GuidedTourStep activeTour: GuidedTourTour checklist: GuidedTourChecklist! context: GuidedTourContext! } type GuidedTourStep { anchorKey: String! body: String completesItemKey: String ctaLabel: String index: Int! key: String! placement: String! title: String total: Int! } """ An ordered sequence of steps and the user's state in it. """ type GuidedTourTour { key: String! state: GuidedTourState steps: [GuidedTourStep!]! } """ A Hero Unit """ type HeroUnit { """ Main Hero Unit content. """ body: String! createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ Optional image credit line. """ credit: String endAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ A globally unique ID. """ id: ID! """ The main image for the Hero Unit. """ image: Image """ A type-specific ID likely used as a database ID. """ internalID: ID! """ Optional label for above the title. """ label: String link: HeroUnitLink! """ Dictates the order of the Hero Units. """ position: Int startAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ The main headline for the Hero Unit. """ title: String! } """ A connection to a list of items. """ type HeroUnitConnection { """ A list of edges. """ edges: [HeroUnitEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type HeroUnitEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: HeroUnit } type HeroUnitLink { """ Text for the CTA of the Hero Unit. """ text: String! """ URL for the CTA of the Hero Unit. """ url: String! } type HighestBid { """ A formatted price with various currency formatting options. """ amount( decimal: String = "." disambiguate: Boolean = false """ Allows control of symbol position (%v = value, %s = symbol) """ format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String cents: Int createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String display: String """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! isCancelled: Boolean number: Int } type Highlights { """ List of curated genes that are broad collecting. (Meant for e.g. suggestions in on-boarding.) """ broadCollectingGenes: [Gene] """ Popular artists """ popularArtists( """ Exclude these ids from results, may result in all artists being excluded. """ excludeArtistIDs: [String] """ If true, will exclude followed artists for the user """ excludeFollowedArtists: Boolean """ Number of results to return """ size: Int ): [Artist] } type HomePage { """ Single artist module to show on the home screen. """ artistModule( """ Module identifier. """ key: HomePageArtistModuleTypes ): HomePageArtistModule """ Artist modules to show on the home screen """ artistModules: [HomePageArtistModule] """ Single artwork module to show on the home screen """ artworkModule( """ ID of followed artist to target for related artist rails """ followedArtistID: String """ ID of generic gene rail to target """ id: String """ Module key """ key: HomePageArtworkModuleTypes """ ID of related artist to target for related artist rails """ relatedArtistID: String ): HomePageArtworkModule """ Artwork modules to show on the home screen """ artworkModules( """ Exclude certain modules """ exclude: [HomePageArtworkModuleTypes] = [] """ Include certain modules and return these modules only """ include: [HomePageArtworkModuleTypes] """ Maximum number of followed genes to return, disable with a negative number """ maxFollowedGeneRails: Int = 1 """ Maximum number of modules to return, disable limit with a negative number """ maxRails: Int = 8 """ The preferred order of modules, defaults to order returned by Gravity """ order: [HomePageArtworkModuleTypes] ): [HomePageArtworkModule] fairsModule: HomePageFairsModule """ A list of enabled hero units to show on the requested platform """ heroUnits(platform: HomePageHeroUnitPlatform!): [HomePageHeroUnit] marketingCollectionsModule: HomePageMarketingCollectionsModule onboardingModule: HomePageMyCollectionOnboardingModule salesModule: HomePageSalesModule } type HomePageArtistModule implements Node { """ A globally unique ID. """ id: ID! """ Module identifier. """ key: String results: [Artist] } enum HomePageArtistModuleTypes { """ The curated trending artists. """ CURATED_TRENDING """ The most searched for artists. """ POPULAR """ Artists recommended for the specific user. """ SUGGESTED """ The trending artists. """ TRENDING } type HomePageArtworkModule implements Node { context: HomePageArtworkModuleContext """ A globally unique ID. """ id: ID! isDisplayable: Boolean key: String params: HomePageModulesParams results: [Artwork] title: String } union HomePageArtworkModuleContext = Fair | FollowArtists | Gene | HomePageFollowedArtistArtworkModule | HomePageRelatedArtistArtworkModule | Sale | TrendingArtists enum HomePageArtworkModuleTypes { ACTIVE_BIDS CURRENT_FAIRS FOLLOWED_ARTIST FOLLOWED_ARTISTS FOLLOWED_GALLERIES FOLLOWED_GENES GENERIC_GENES LIVE_AUCTIONS POPULAR_ARTISTS RECENTLY_VIEWED_WORKS RECOMMENDED_WORKS RELATED_ARTISTS SAVED_WORKS SIMILAR_TO_RECENTLY_VIEWED SIMILAR_TO_SAVED_WORKS } type HomePageFairsModule { results: [Fair]! } type HomePageFollowedArtistArtworkModule { artist: Artist } type HomePageHeroUnit { """ The image to show, on desktop this defaults to the wide version. """ backgroundImageURL(version: HomePageHeroUnitImageVersion): String cached: Int creditLine: String heading: String href: String """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! linkText: String mode: HomePageHeroUnitMode """ A slug ID. """ slug: ID! subtitle: String title: String titleImageURL(retina: Boolean): String } enum HomePageHeroUnitImageVersion { NARROW WIDE } enum HomePageHeroUnitMode { CENTERED_DARK CENTERED_LIGHT LEFT_DARK LEFT_LIGHT RIGHT_DARK RIGHT_LIGHT } enum HomePageHeroUnitPlatform { DESKTOP MARTSY MOBILE } type HomePageMarketingCollectionsModule { results: [MarketingCollection]! } type HomePageModulesParams { followedArtistID: ID geneID: String """ An optional type-specific ID. """ internalID: ID medium: String priceRange: String relatedArtistID: ID } type HomePageMyCollectionOnboardingModule { showMyCollectionCard: Boolean! showSWACard: Boolean! } type HomePageRelatedArtistArtworkModule { artist: Artist basedOn: Artist } type HomePageSalesModule { results: [Sale]! } """ Schema for server-driven home view content """ type HomeView { """ Currently running A/B tests for home view content """ experiments: [ClientFeatureFlag]! """ A single home view section, addressed by internal id """ section( """ The ID of the section """ id: String! ): HomeViewSectionGeneric """ A paginated list of home view sections """ sectionsConnection( after: String before: String first: Int last: Int ): HomeViewSectionGenericConnection! } type HomeViewCard { badgeText: String buttonText: String contextModule: String entityID: String entityType: String href: String image: Image images: [Image] subtitle: String title: String! } """ A connection to a list of items. """ type HomeViewCardConnection { """ A list of edges. """ edges: [HomeViewCardEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type HomeViewCardEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: HomeViewCard } """ A component specification, to allow for customization of presentation and behavior """ type HomeViewComponent { """ A background image for this section """ backgroundImageURL( version: HomeViewComponentBackgroundImageURLVersion ): String """ Behaviors for this component """ behaviors: HomeViewComponentBehaviors """ A description or blurb for this section """ description: String """ A screen to navigate to when this component is clicked """ href: String @deprecated(reason: "Use `behaviors.viewAll.href` instead") """ A display title for this section """ title: String """ The name of the client-side component which should be preferred (when the default component for a given section type is not sufficient) """ type: String } enum HomeViewComponentBackgroundImageURLVersion { NARROW WIDE } """ Behaviors for this component """ type HomeViewComponentBehaviors { """ Represents the behavior of the View All button """ viewAll: HomeViewComponentBehaviorsViewAll } """ A specification for this section’s View All behavior """ type HomeViewComponentBehaviorsViewAll { """ Text for the CTA of the View All button """ buttonText: String """ `href` of the View All button. When present, will result in a navigation to the specified route. When `null`, will result in the client-side component’s default view-all behavior, e.g. a full-screen modal overlay """ href: String """ [Analytics] `owner type` analytics value for the requested destination, as defined in our schema (artsy/cohesion) """ ownerType: String } """ A user activity section in the home view """ type HomeViewSectionActivity implements HomeViewSectionGeneric & Node { """ Component prescription for this section, for overriding or customizing presentation and behavior """ component: HomeViewComponent """ [Analytics] `context module` analytics value for this section, as defined in our schema (artsy/cohesion) """ contextModule: String """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! notificationsConnection( after: String before: String first: Int last: Int ): NotificationConnection """ [Analytics] `owner type` analytics value for this scetion when displayed in a standalone UI, as defined in our schema (artsy/cohesion) """ ownerType: String } """ An articles section in the home view """ type HomeViewSectionArticles implements HomeViewSectionGeneric & Node { articlesConnection( after: String before: String first: Int last: Int ): ArticleConnection """ Component prescription for this section, for overriding or customizing presentation and behavior """ component: HomeViewComponent """ [Analytics] `context module` analytics value for this section, as defined in our schema (artsy/cohesion) """ contextModule: String """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! """ [Analytics] `owner type` analytics value for this scetion when displayed in a standalone UI, as defined in our schema (artsy/cohesion) """ ownerType: String } """ An artists section in the home view """ type HomeViewSectionArtists implements HomeViewSectionGeneric & Node { artistsConnection( after: String before: String first: Int last: Int ): ArtistConnection """ Component prescription for this section, for overriding or customizing presentation and behavior """ component: HomeViewComponent """ [Analytics] `context module` analytics value for this section, as defined in our schema (artsy/cohesion) """ contextModule: String """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! """ [Analytics] `owner type` analytics value for this scetion when displayed in a standalone UI, as defined in our schema (artsy/cohesion) """ ownerType: String } """ An artworks section in the home view """ type HomeViewSectionArtworks implements HomeViewSectionGeneric & Node { artworksConnection( after: String before: String first: Int last: Int ): ArtworkConnection """ Component prescription for this section, for overriding or customizing presentation and behavior """ component: HomeViewComponent """ [Analytics] `context module` analytics value for this section, as defined in our schema (artsy/cohesion) """ contextModule: String """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! """ [Analytics] `owner type` analytics value for this scetion when displayed in a standalone UI, as defined in our schema (artsy/cohesion) """ ownerType: String showArtworksCardView: Boolean! @deprecated(reason: "No longer used") trackItemImpressions: Boolean! } """ An auction results section in the home view """ type HomeViewSectionAuctionResults implements HomeViewSectionGeneric & Node { auctionResultsConnection( after: String before: String first: Int last: Int ): AuctionResultConnection """ Component prescription for this section, for overriding or customizing presentation and behavior """ component: HomeViewComponent """ [Analytics] `context module` analytics value for this section, as defined in our schema (artsy/cohesion) """ contextModule: String """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! """ [Analytics] `owner type` analytics value for this scetion when displayed in a standalone UI, as defined in our schema (artsy/cohesion) """ ownerType: String } """ A section that consists of a single navigation card """ type HomeViewSectionCard implements HomeViewSectionGeneric & Node { card: HomeViewCard """ Component prescription for this section, for overriding or customizing presentation and behavior """ component: HomeViewComponent """ [Analytics] `context module` analytics value for this section, as defined in our schema (artsy/cohesion) """ contextModule: String """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! """ [Analytics] `owner type` analytics value for this scetion when displayed in a standalone UI, as defined in our schema (artsy/cohesion) """ ownerType: String } """ A section containing a list of navigation cards """ type HomeViewSectionCards implements HomeViewSectionGeneric & Node { cardsConnection( after: String before: String first: Int last: Int ): HomeViewCardConnection """ Component prescription for this section, for overriding or customizing presentation and behavior """ component: HomeViewComponent """ [Analytics] `context module` analytics value for this section, as defined in our schema (artsy/cohesion) """ contextModule: String """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! """ [Analytics] `owner type` analytics value for this scetion when displayed in a standalone UI, as defined in our schema (artsy/cohesion) """ ownerType: String trackItemImpressions: Boolean! } """ A fairs section in the home view """ type HomeViewSectionFairs implements HomeViewSectionGeneric & Node { """ Component prescription for this section, for overriding or customizing presentation and behavior """ component: HomeViewComponent """ [Analytics] `context module` analytics value for this section, as defined in our schema (artsy/cohesion) """ contextModule: String fairsConnection( after: String before: String first: Int last: Int ): FairConnection """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! """ [Analytics] `owner type` analytics value for this scetion when displayed in a standalone UI, as defined in our schema (artsy/cohesion) """ ownerType: String } """ Abstract interface shared by every kind of home view section """ interface HomeViewSectionGeneric { """ Component prescription for this section, for overriding or customizing presentation and behavior """ component: HomeViewComponent """ [Analytics] `context module` analytics value for this section, as defined in our schema (artsy/cohesion) """ contextModule: String """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! """ [Analytics] `owner type` analytics value for this scetion when displayed in a standalone UI, as defined in our schema (artsy/cohesion) """ ownerType: String } """ A connection to a list of items. """ type HomeViewSectionGenericConnection { """ A list of edges. """ edges: [HomeViewSectionGenericEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type HomeViewSectionGenericEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: HomeViewSectionGeneric } """ A hero units section in the home view """ type HomeViewSectionHeroUnits implements HomeViewSectionGeneric & Node { """ Component prescription for this section, for overriding or customizing presentation and behavior """ component: HomeViewComponent """ [Analytics] `context module` analytics value for this section, as defined in our schema (artsy/cohesion) """ contextModule: String heroUnitsConnection( after: String before: String first: Int last: Int ): HeroUnitConnection """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! """ [Analytics] `owner type` analytics value for this scetion when displayed in a standalone UI, as defined in our schema (artsy/cohesion) """ ownerType: String } """ A marketing collections section in the home view """ type HomeViewSectionMarketingCollections implements HomeViewSectionGeneric & Node { """ Component prescription for this section, for overriding or customizing presentation and behavior """ component: HomeViewComponent """ [Analytics] `context module` analytics value for this section, as defined in our schema (artsy/cohesion) """ contextModule: String """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! marketingCollectionsConnection( after: String before: String first: Int last: Int ): MarketingCollectionConnection """ [Analytics] `owner type` analytics value for this scetion when displayed in a standalone UI, as defined in our schema (artsy/cohesion) """ ownerType: String } """ A selection of navigation links in the home view """ type HomeViewSectionNavigationPills implements HomeViewSectionGeneric & Node { """ Component prescription for this section, for overriding or customizing presentation and behavior """ component: HomeViewComponent """ [Analytics] `context module` analytics value for this section, as defined in our schema (artsy/cohesion) """ contextModule: String """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! navigationPills: [NavigationPill]! """ [Analytics] `owner type` analytics value for this scetion when displayed in a standalone UI, as defined in our schema (artsy/cohesion) """ ownerType: String } """ A sales (auctions) section in the home view """ type HomeViewSectionSales implements HomeViewSectionGeneric & Node { """ Component prescription for this section, for overriding or customizing presentation and behavior """ component: HomeViewComponent """ [Analytics] `context module` analytics value for this section, as defined in our schema (artsy/cohesion) """ contextModule: String """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! """ [Analytics] `owner type` analytics value for this scetion when displayed in a standalone UI, as defined in our schema (artsy/cohesion) """ ownerType: String salesConnection( after: String before: String first: Int last: Int ): SaleConnection } """ A shows section in the home view """ type HomeViewSectionShows implements HomeViewSectionGeneric & Node { """ Component prescription for this section, for overriding or customizing presentation and behavior """ component: HomeViewComponent """ [Analytics] `context module` analytics value for this section, as defined in our schema (artsy/cohesion) """ contextModule: String """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! """ [Analytics] `owner type` analytics value for this scetion when displayed in a standalone UI, as defined in our schema (artsy/cohesion) """ ownerType: String showsConnection( after: String before: String first: Int last: Int """ Include shows within a radius of the provided location """ near: Near ): ShowConnection } """ A tasks section in the home view """ type HomeViewSectionTasks implements HomeViewSectionGeneric & Node { """ Component prescription for this section, for overriding or customizing presentation and behavior """ component: HomeViewComponent """ [Analytics] `context module` analytics value for this section, as defined in our schema (artsy/cohesion) """ contextModule: String """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! """ [Analytics] `owner type` analytics value for this scetion when displayed in a standalone UI, as defined in our schema (artsy/cohesion) """ ownerType: String tasksConnection( after: String before: String first: Int last: Int ): TaskConnection } """ A viewing rooms section in the home view """ type HomeViewSectionViewingRooms implements HomeViewSectionGeneric & Node { """ Component prescription for this section, for overriding or customizing presentation and behavior """ component: HomeViewComponent """ [Analytics] `context module` analytics value for this section, as defined in our schema (artsy/cohesion) """ contextModule: String """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! """ [Analytics] `owner type` analytics value for this scetion when displayed in a standalone UI, as defined in our schema (artsy/cohesion) """ ownerType: String } """ An ISO 8601-encoded datetime """ scalar ISO8601DateTime type IdentityVerification { createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ Email of the identity verification's owner """ email: String """ A globally unique ID. """ id: ID! """ ID of the admin or user (self) that initiated this IDV request """ initiatorID: String """ A type-specific ID likely used as a database ID. """ internalID: ID! invitationExpiresAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ Name of the identity verification's owner """ name: String """ ID of the order the user was placing when this IDV request was created """ orderID: String """ The overrides associated with an identity verification """ overrides: [IdentityVerificationOverride] """ Page URL sent to the identify verification's owner """ pageURL: String """ ID of the auction the user was registering for when this IDV request was created """ saleID: String """ The scan references (i.e., results) associated with an identity verification """ scanReferences: [IdentityVerificationScanReference] """ Where the identity verification is in its lifecycle """ state: String! """ User ID of the identity verification's owner """ userID: String } """ A connection to a list of items. """ type IdentityVerificationConnection { """ A list of edges. """ edges: [IdentityVerificationEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type IdentityVerificationEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: IdentityVerification } type IdentityVerificationEmail { created_at( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ Email of the identity verification's owner """ email: String """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! """ Name of the identity verification's owner """ name: String """ Identity verification lifecycle state """ state: String! updated_at( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ User ID of the identity verification's owner """ userID: String } type IdentityVerificationEmailMutationFailureType { mutationError: GravityMutationError } type IdentityVerificationEmailMutationSuccessType { identityVerification: IdentityVerification identityVerificationEmail: IdentityVerificationEmail @deprecated(reason: "use identityVerification instead") } union IdentityVerificationEmailMutationType = IdentityVerificationEmailMutationFailureType | IdentityVerificationEmailMutationSuccessType type IdentityVerificationOverride { createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String creator: User """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! """ Overridden state """ newState: String! """ Un-overridden state """ oldState: String! reason: String! """ User ID of the override's creator """ userID: String } type IdentityVerificationOverrideMutationFailure { mutationError: GravityMutationError } type IdentityVerificationOverrideMutationSuccess { identityVerification: IdentityVerification } type IdentityVerificationScanReference { createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String extractedFirstName: String extractedIdFailReason: String extractedLastName: String extractedSimilarityFailReason: String finishedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! jumioID: String! result: String } type Image { aspectRatio: Float! """ Blurhash code for the image """ blurhash: String caption: String cropped( """ Whether to use a short cache policy for the image """ cachePolicy: String height: Int! """ Value from 0-100; [1x, 2x] """ quality: [Int!] """ Version to utilize in order of preference """ version: [String] width: Int! ): CroppedImageUrl deepZoom: DeepZoom geminiToken: String geminiTokenUpdatedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String height: Int href: String imageURL: String imageVersions: [String] """ An optional type-specific ID. """ internalID: ID isDefault: Boolean """ Indicates whether the image is currently being processed. """ isProcessing: Boolean! isZoomable: Boolean maxTiledHeight: Int maxTiledWidth: Int orientation: String originalHeight: Int originalWidth: Int """ Value to use when `padding-bottom` for fluid image placeholders """ placeholder: String """ Order position of the image, within the images array of the artwork. (1-indexed) """ position: Int """ Indicates whether image processing has failed. """ processingFailed: Boolean! resized( """ Whether to use a short cache policy for the image """ cachePolicy: String height: Int """ Value from 0-100; [1x, 2x] """ quality: [Int!] """ Version to utilize in order of preference """ version: [String] width: Int ): ResizedImageUrl tileBaseURL: String tileFormat: String tileSize: Int title: String url(version: [String]): String versions: [String] width: Int } """ A connection to a list of items. """ type ImageConnection { """ A list of edges. """ edges: [ImageEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type ImageEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: Image } type ImageURLs { normalized: String } type InputAddress { addressLine1: String! addressLine2: String city: String! country: String! postalCode: String! region: String } type InputAddressFields { address: InputAddress lines: [String] } type InquirerCollectorProfile { artsyUserSince( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String bio: String """ Artists collected by this user, sorted by relevance with representative medium categories """ collectedArtistsConnection( after: String """ Artwork ID for context-aware sorting. Can be injected in conversation context. """ artworkID: String before: String first: Int last: Int ): CollectedArtistConnection collectedArtworksCount: Int! """ Structured attributes describing the collector in relation to the artwork/partner. """ collectorAttributes( """ This can be specified, and is injected in a conversation context for convenience. """ artworkID: String ): [CollectorSummaryAttribute!]! collectorLevel: Int companyName: String companyWebsite: String confirmedBuyerAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String email: String emailConfirmed: Boolean @deprecated( reason: "emailConfirmed is going to be removed, use isEmailConfirmed instead" ) firstNameLastInitial: String followedArtistsCount: Int! """ The Collector follows the Gallery profile """ hasPartnerFollow: Boolean icon: Image """ A globally unique ID. """ id: ID! identityVerified: Boolean @deprecated( reason: "identityVerified is going to be removed, use isIdentityVerified instead" ) initials(length: Int = 3): String inquiryRequestsCount: Int! """ Collector's Instagram handle """ instagram: String institutionalAffiliations: String intents: [String] interestsConnection( after: String before: String first: Int last: Int ): UserInterestConnection """ A type-specific ID likely used as a database ID. """ internalID: ID! isActiveBidder: Boolean isActiveInquirer: Boolean isEmailConfirmed: Boolean isIdentityVerified: Boolean isProfileComplete: Boolean lastUpdatePromptAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ Collector's LinkedIn handle """ linkedIn: String location: MyLocation loyaltyApplicantAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String name: String """ Collector's position with relevant institutions """ otherRelevantPositions: String owner: User! """ User ID of the collector profile's owner """ ownerID: ID! """ Holds information about the engagement a collector profile has with a given partner """ partnerEngagement( """ The ID of the partner to check for engagement """ partnerID: ID! ): PartnerEngagement privacy: String profession: String professionalBuyerAppliedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String professionalBuyerAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String savedArtworksCount: Int! selfReportedPurchases: String """ An artwork-specific paragraph describing the collector. """ summaryParagraph( """ This can be specified, and is injected in a conversation context for convenience. """ artworkID: String ): String totalBidsCount: Int! userInterests: [UserInterest]! @deprecated(reason: "Use \"owner#interestsConnection\" field instead.") } union InquiryItemType = Artwork | Show type InquiryQuestion { """ A globally unique ID. """ id: ID! """ A type-specific ID. """ internalID: ID! question: String! } input InquiryQuestionInput { details: String questionID: String! } """ A request to inquire on an artwork """ type InquiryRequest { contactGallery: Boolean """ A globally unique ID. """ id: ID! inquireable: InquiryItemType inquirer: User """ A type-specific ID likely used as a database ID. """ internalID: ID! questions: [String] shippingLocation: Location } type InstagramAccount { accountName: String connectedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! lastSyncedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String partnerId: String! providerAccountId: String status: InstagramAccountStatus tokenExpiresAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String updatedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String userId: String! username: String } enum InstagramAccountStatus { ACTIVE DISCONNECTED ERROR EXPIRED } type InstagramPost { artworkIds: [String!]! caption: String createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String errorMessage: String """ A globally unique ID. """ id: ID! instagramAccountId: String! instagramMediaId: String """ A type-specific ID likely used as a database ID. """ internalID: ID! partnerId: String! permalink: String publishedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String status: InstagramPostStatus updatedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String } """ A connection to a list of items. """ type InstagramPostConnection { """ A list of edges. """ edges: [InstagramPostEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type InstagramPostEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: InstagramPost } """ A slide in an Instagram carousel post. The order of slides in the array determines their position in the carousel. """ input InstagramPostSlideInput { """ The ID of the artwork for this slide (optional for custom image-only slides) """ artworkId: String """ S3 object key for this slide's image (required) """ s3Key: String! } enum InstagramPostStatus { FAILED PENDING PUBLISHED } enum IntendedState { ACCEPTED REJECTED REVIEW } enum Intents { BUY_ART_AND_DESIGN FIND_ART_EXHIBITS LEARN_ABOUT_ART READ_ART_MARKET_NEWS RESEARCH_ART_PRICES SELL_ART_AND_DESIGN } """ The type of international shipping option """ enum InternationalType { """ Artsy handles international shipping """ ARTSY_SHIPPING """ Flat fee for international shipping """ FLAT_FEE """ Free international shipping """ FREE_SHIPPING """ International shipping is not supported """ NOT_SUPPORTED } type Invoice { currency: String! email: String externalNote: String """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! lineItems: [InvoiceLineItem!]! name: String number: String! payments: [InvoicePayment!]! readyAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ A formatted price with various currency formatting options. """ remaining( decimal: String = "." disambiguate: Boolean = false """ Allows control of symbol position (%v = value, %s = symbol) """ format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String remainingMinor: Int! state: InvoiceState! } type InvoiceLineItem { """ A formatted price with various currency formatting options. """ amount( decimal: String = "." disambiguate: Boolean = false """ Allows control of symbol position (%v = value, %s = symbol) """ format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String description: String! """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! quantity: Int! """ A formatted price with various currency formatting options. """ subtotal( decimal: String = "." disambiguate: Boolean = false """ Allows control of symbol position (%v = value, %s = symbol) """ format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String } type InvoicePayment { """ A formatted price with various currency formatting options. """ amount( decimal: String = "." disambiguate: Boolean = false """ Allows control of symbol position (%v = value, %s = symbol) """ format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String creditCard: CreditCard """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! successful: Boolean! } enum InvoiceState { CANCELED DRAFT PAID READY } """ Represents untyped JSON """ scalar JSON type Job { """ HTML of job listing """ content: String! departmentName: String! """ The url of the job listing """ externalURL: String! id: ID! location: String! teamName: String! title: String! updatedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String } enum LabelSignalEnum { CURATORS_PICK INCREASED_INTEREST PARTNER_OFFER } type LatLng { lat: Float lng: Float } enum LengthUnitPreference { CM IN } """ A line item in an order """ type LineItem { artwork: Artwork artworkOrEditionSet: ArtworkOrEditionSetType artworkVersion: ArtworkVersion currencyCode: String! currencySymbol(disambiguate: Boolean = true): String! """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! listPrice: Money partnerOfferId: String quantity: Int! } input LinkAuthenticationMutationInput { """ Unique Apple user id. **Required** for Apple authentication. """ appleUid: String clientMutationId: String """ User email, only used for Apple authentication. """ email: String """ JWT used for Apple authentication. """ idToken: String """ User name, only used for Apple authentication. """ name: String """ An OAuth token. """ oauthToken: String! """ A 3rd party account provider, such as facebook or apple. """ provider: AuthenticationProvider! } type LinkAuthenticationMutationPayload { clientMutationId: String me: Me! } union ListPrice = Money | PriceRange enum LiveAuctionRole { OPERATOR PARTICIPANT } type Location { address: String address2: String """ Buisness, temporary, or private address """ addressType: String booth: String cached: Int city: String coordinates: LatLng country: String """ Alternate Markdown-supporting free text representation of a location's opening hours """ dayScheduleText: String daySchedules: [DaySchedule] display: String displayCountry: String email: String euShippingLocation: Boolean floor: String hall: String """ A globally unique ID. """ id: ID! """ A type-specific ID. """ internalID: ID! name: String """ Union returning opening hours in formatted structure or a string """ openingHours: OpeningHoursUnion phone: String pier: String postalCode: String """ Boolean flag that denotes whether a location is publicly viewable on Partner's Artsy Profile """ publiclyViewable: Boolean room: String section: String state: String summary: String } """ A connection to a list of items. """ type LocationConnection { """ A list of edges. """ edges: [LocationEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type LocationEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: Location } scalar Long """ A lot in an auction containing merged SaleArtwork and LotState data, stitched from causality. """ type Lot implements Node { """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! lot: AuctionsLotState """ The watched saleArtwork object. """ saleArtwork: SaleArtwork """ A slug ID. """ slug: ID! } """ A connection to a list of items. """ type LotConnection { """ A list of edges. """ edges: [LotEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type LotEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: Lot } type LotStanding { """ Your bid if it is currently winning """ activeBid: BidderPosition bidder: Bidder """ You are winning and reserve is met """ isHighestBidder: Boolean """ You are the leading bidder without regard to reserve """ isLeadingBidder: Boolean """ Your most recent bid—which is not necessarily winning (may be higher or lower) """ mostRecentBid: BidderPosition sale: Sale saleArtwork: SaleArtwork } type MailchimpAccount { accountName: String apiEndpoint: String connectedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String email: String """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! lastSyncedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ Mailchimp audience lists for this account """ lists: [MailchimpList!] partnerId: String! providerAccountId: String serverPrefix: String status: MailchimpAccountStatus updatedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String userId: String! } enum MailchimpAccountStatus { ACTIVE DISCONNECTED ERROR EXPIRED } type MailchimpCampaign { """ IDs of artworks included in this campaign """ artworkIds: [String!] """ The Mailchimp campaign ID """ campaignId: String createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String createdInMailchimpAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! """ The Mailchimp list/audience ID used for this campaign """ listId: String """ The URL to view the campaign in Mailchimp """ mailchimpUrl: String partnerId: String """ The email preview text """ previewText: String sentAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String status: MailchimpCampaignStatus """ The email subject line """ subjectLine: String updatedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ The Mailchimp web ID for linking to the campaign """ webId: String } """ A connection to a list of items. """ type MailchimpCampaignConnection { """ A list of edges. """ edges: [MailchimpCampaignEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type MailchimpCampaignEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: MailchimpCampaign } enum MailchimpCampaignStatus { DRAFT SCHEDULED SENT } type MailchimpList { """ The Mailchimp list/audience ID """ listId: String! """ The name of the Mailchimp list/audience """ name: String! } type MarkAllNotificationsAsReadFailure { mutationError: GravityMutationError } input MarkAllNotificationsAsReadInput { clientMutationId: String } type MarkAllNotificationsAsReadPayload { clientMutationId: String responseOrError: MarkAllNotificationsAsReadResponseOrError } union MarkAllNotificationsAsReadResponseOrError = MarkAllNotificationsAsReadFailure | MarkAllNotificationsAsReadSuccess type MarkAllNotificationsAsReadSuccess { me: Me! success: Boolean } type MarkNotificationAsReadFailure { mutationError: GravityMutationError } input MarkNotificationAsReadInput { clientMutationId: String id: String! } type MarkNotificationAsReadPayload { clientMutationId: String responseOrError: MarkNotificationAsReadResponseOrError } union MarkNotificationAsReadResponseOrError = MarkNotificationAsReadFailure | MarkNotificationAsReadSuccess type MarkNotificationAsReadSuccess { me: Me! success: Boolean } type MarkNotificationsAsSeenFailure { mutationError: GravityMutationError } input MarkNotificationsAsSeenInput { clientMutationId: String """ Until what point of time notifications were seen. ISO8601 standard-formatted string. """ until: String! } type MarkNotificationsAsSeenPayload { clientMutationId: String responseOrError: MarkNotificationsAsSeenResponseOrError } union MarkNotificationsAsSeenResponseOrError = MarkNotificationsAsSeenFailure | MarkNotificationsAsSeenSuccess type MarkNotificationsAsSeenSuccess { me: Me! success: Boolean } type MarkdownContent { content(format: Format): String } """ Market Price Insights """ type MarketPriceInsights { annualLotsSold: Int annualValueSoldCents: BigInt artistId: ID artistName: String artsyQInventory: Int createdAt: ISO8601DateTime demandRank: Float demandTrend: Float highRangeCents: BigInt id: ID! largeHighRangeCents: BigInt largeLowRangeCents: BigInt largeMidRangeCents: BigInt lastAuctionResultDate: ISO8601DateTime liquidityRank: Float lotsSoldLast12Months: Int lotsSoldLast24Months: Int lotsSoldLast36Months: Int lotsSoldLast48Months: Int lotsSoldLast60Months: Int lotsSoldLast72Months: Int lotsSoldLast84Months: Int lotsSoldLast96Months: Int lowRangeCents: BigInt medianSaleOverEstimatePercentage: Int medianSalePriceLast36Months: BigInt medianSalePriceLast96Months: BigInt medianSaleToEstimateRatio: Float medium: String mediumHighRangeCents: BigInt mediumLowRangeCents: BigInt mediumMidRangeCents: BigInt midRangeCents: BigInt sellThroughRate: Float smallHighRangeCents: BigInt smallLowRangeCents: BigInt smallMidRangeCents: BigInt updatedAt: ISO8601DateTime } """ The connection type for MarketPriceInsights. """ type MarketPriceInsightsConnection { """ A list of edges. """ edges: [MarketPriceInsightsEdge] """ A list of nodes. """ nodes: [MarketPriceInsights] pageCursors: PageCursors """ Information to aid in pagination. """ pageInfo: AnalyticsPageInfo! totalCount: Int totalPages: Int } """ An edge in a connection. """ type MarketPriceInsightsEdge { """ A cursor for use in pagination. """ cursor: String! """ The item at the end of the edge. """ node: MarketPriceInsights } type MarketingCollection implements Node { artistIds: [String] artworkIds: [String] """ Artworks Elastic Search results """ artworksConnection( acquireable: Boolean additionalGeneIDs: [String] after: String aggregationPartnerCities: [String] aggregations: [ArtworkAggregation] artistID: String artistIDs: [String] artistNationalities: [String] artistSeriesID: String artistSeriesIDs: [String] artsyListing: Boolean """ When provided, will only return artworks with these IDs. """ artworkIDs: [String] atAuction: Boolean attributionClass: [String] availability: String before: String categories: [String] """ Filter by certificate of authenticity. Accepted values: gallery, authenticating_body, no. """ certificateOfAuthenticity: String color: String colors: [String] """ Filter by artwork completeness tiers. Accepts multiple values. """ completenessTier: [String] """ When true, will only return artworks carrying the Curators' Pick collector signal. Cannot be combined with `marketingCollectionID`. """ curatorsPick: Boolean dimensionRange: String """ When true, will skip pushing sold works to the back of the list. Useful in a CMS context. """ disableNotForSaleSorting: Boolean excludeArtworkIDs: [String] extraAggregationGeneIDs: [String] first: Int forSale: Boolean """ When true, will only return framed artworks. """ framed: Boolean geneID: String geneIDs: [String] height: String """ Hybrid only: how many candidates the semantic arm retrieves. Higher = wider semantic net. """ hybridNeuralK: Int """ Hybrid only: results each arm contributes to the blend; must be ≥ from + page size. Caps pagination depth. """ hybridPaginationDepth: Int """ Hybrid only: [lexical, neural] balance when blending scores, e.g. [0.5,0.5] equal, [0.3,0.7] favors semantic. """ hybridWeights: [Float!] importSources: [String] includeAllJSON: Boolean includeArtworksByFollowedArtists: Boolean includeMediumFilterInAggregation: Boolean """ Include artworks not listed on Artsy (artsy_listing: false). """ includeNonArtsyListed: Boolean includeUnpublished: Boolean """ When true, will only return artworks carrying the Increased Interest collector signal. """ increasedInterest: Boolean input: FilterArtworksInput inquireableOnly: Boolean keyword: String """ When true, will only return exact keyword match """ keywordMatchExact: Boolean """ When true and a `keyword` search returns no results, retries once with typo tolerance. Ignored with `keywordMatchExact`. """ keywordTypoTolerance: Boolean last: Int locationCities: [String] locationId: String majorPeriods: [String] """ When true, will only return `marketable` works (not nude or provocative). """ marketable: Boolean marketingCollectionID: String materialsTerms: [String] """ A string from the list of allocations, or * to denote all mediums """ medium: String offerable: Boolean page: Int partnerCities: [String] partnerID: ID partnerIDs: [String] partnerListID: String period: String periods: [String] priceRange: String """ When false, will only return unpublished artworks for authorized users. """ published: Boolean saleID: ID showID: String """ When true, will only return signed artworks. """ signed: Boolean size: Int """ Filter results by Artwork sizes """ sizes: [ArtworkSizes] sold: Boolean sort: String tagID: String """ Search strategy. 'hybrid' blends semantic (meaning-based) results into the keyword search. Requires a keyword; team-only. """ variant: String viewingRoomID: ID visibilityLevel: String width: String ): FilterArtworksConnection category: String! createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String credit: String description: String @deprecated(reason: "Use `markdownDescription` field instead") descriptionMarkdown: String @deprecated(reason: "Use `markdownDescription` field instead") featuredArtistExclusionIds: [String!]! geneIds: [String] headerImage: String """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! isDepartment: Boolean! isFeaturedArtistContent: Boolean! keyword: String """ Linked Collections """ linkedCollections: [MarketingCollectionGroup!]! markdownDescription(format: Format): String priceGuidance: Float query: MarketingCollectionQuery! """ Related Collections """ relatedCollections( """ The number of Related Marketing Collections to return """ size: Int = 10 ): [MarketingCollection!]! representativeArtworkID: String showFeaturedArtists: Boolean! showHeaderArtworksRail: Boolean! slug: String! thumbnail: String thumbnailImage: Image title: String! updatedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String } type MarketingCollectionCategory { collections: [MarketingCollection!]! name: String! } """ A connection to a list of items. """ type MarketingCollectionConnection { """ A list of edges. """ edges: [MarketingCollectionEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type MarketingCollectionEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: MarketingCollection } type MarketingCollectionGroup { groupType: MarketingCollectionGroupTypeEnum! internalID: ID! members: [MarketingCollection!]! name: String! } enum MarketingCollectionGroupTypeEnum { ArtistSeries FeaturedCollections OtherCollections } type MarketingCollectionQuery { artistIDs: [String] geneIDs: [String] id: String internalID: ID keyword: String tagID: String } enum MarketingCollectionsSorts { CREATED_AT_ASC CREATED_AT_DESC CURATED UPDATED_AT_ASC UPDATED_AT_DESC } union Match = Article | Artist | Artwork | Fair | Feature | Gene | Page | Profile | Sale | Show | Tag | Video """ A connection to a list of items. """ type MatchConnection { """ A list of edges. """ edges: [MatchEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type MatchEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: Match } type Me implements Node { addressConnection( after: String before: String first: Int last: Int ): UserAddressConnection alert(id: String!): Alert alertsConnection( after: String attributes: PreviewSavedSearchAttributes before: String first: Int last: Int sort: AlertsConnectionSortEnum ): AlertConnection! """ A connection of artist recommendations for the current user. """ artistRecommendations( after: String before: String first: Int last: Int page: Int """ The source/algorithm to use for recommendations """ source: ArtistRecommendationSource = HYBRID ): ArtistConnection """ A list of the current user’s inquiry requests """ artworkInquiriesConnection( after: String before: String first: Int last: Int ): ArtworkInquiryConnection """ A connection of artwork recommendations for the current user. """ artworkRecommendations( after: String before: String first: Int last: Int page: Int ): ArtworkConnection """ A list of the auction results by followed artists """ auctionResultsByFollowedArtists( after: String """ Allow auction results with empty created date values """ allowEmptyCreatedDates: Boolean = true before: String """ Filter auction results by category (medium) """ categories: [String] """ Filter auction results by earliest created at year """ earliestCreatedYear: Int first: Int last: Int """ Filter auction results by latest created at year """ latestCreatedYear: Int """ Filter auction results by organizations """ organizations: [String] """ When true, will only return records for allowed artists. """ recordsTrusted: Boolean = false """ Filter auction results by Artwork sizes """ sizes: [ArtworkSizes] sort: AuctionResultSorts """ State of the returned auction results (can be past, upcoming, or all) """ state: AuctionResultsState = ALL ): AuctionResultConnection """ Classification of the user based on their auction-related activity """ auctionSegmentation: AuctionSegmentationType auctionsLotStandingConnection( after: String before: String first: Int last: Int ): AuctionsLotStandingConnection! """ A list of authenticated external services """ authentications: [AuthenticationType!]! """ A list of the current user's bank accounts """ bankAccounts( after: String before: String first: Int last: Int type: BankAccountTypes ): BankAccountConnection """ A connection of artwork recommendations, based on user saves """ basedOnUserSaves( after: String before: String first: Int last: Int ): ArtworkConnection """ Returns a single bidder position """ bidderPosition(id: String!): BidderPositionResult """ A list of the current user's bidder positions """ bidderPositions( """ Only the bidder positions on a specific artwork """ artworkID: String """ Only the most recent bidder positions per artwork. """ current: Boolean """ Only the bidder positions for a specific auction """ saleID: String ): [BidderPosition] """ The current user's status relating to bids on artworks """ bidderStatus(artworkID: String!, saleID: String!): LotStanding """ A list of the current user’s bidder registrations """ bidders( """ Limit results to bidders in active auctions """ active: Boolean """ The slug or ID of a Sale """ saleID: String ): [Bidder] bio: String """ Whether user is allowed to request email confirmation """ canRequestEmailConfirmation: Boolean! """ A collection belonging to the current user """ collection(id: String!): Collection collectionsConnection( after: String before: String default: Boolean first: Int includesArtworkID: String last: Int page: Int saves: Boolean size: Int sort: CollectionSorts ): CollectionsConnection collectorLevel: Int """ Current user's collector profile. """ collectorProfile: CollectorProfileType """ Retrieve payment details of a Stripe confirmation token """ confirmationToken( """ Stripe confirmation token """ id: String! ): ConfirmationToken """ A conversation, usually between a user and a partner """ conversation( """ The ID of the Conversation """ id: String! ): Conversation """ Conversations, usually between a user and partner. """ conversationsConnection( after: String artistId: String artworkId: String before: String conversationType: ConversationType dismissed: Boolean first: Int fromId: String hasMessage: Boolean hasReply: Boolean last: Int partnerId: String toBeReplied: Boolean type: ConversationsInputMode = USER unreadByPartner: Boolean ): ConversationConnection counts: MeCounts createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ A list of the current user’s credit cards """ creditCards( after: String before: String first: Int last: Int ): CreditCardConnection """ Currency preference of the user """ currencyPreference: CurrencyPreference! email: String """ User has confirmed their email address """ emailConfirmed: Boolean! @deprecated( reason: "emailConfirmed is going to be removed, use isEmailConfirmed instead" ) followsAndSaves: FollowsAndSaves """ The logged-in user's guided tour state for a given context. """ guidedTour(context: GuidedTourContext!): GuidedTourStateView hasCreditCards: Boolean hasPassword: Boolean! hasPriceRange: Boolean! hasQualifiedCreditCards: Boolean hasSecondFactorEnabled: Boolean! """ Indicates whether the Artwork Budget was updated within the past three months """ hasStaleArtworkBudget: Boolean! icon: Image """ A globally unique ID. """ id: ID! """ An identity verification that the user has access to """ identityVerification( """ ID of the IdentityVerification """ id: String! ): IdentityVerification identityVerified: Boolean @deprecated( reason: "identityVerified is going to be removed, use isIdentityVerified instead" ) initials(length: Int = 3): String inquiryIntroduction: String """ A list of Instagram accounts connected by the current user """ instagramAccounts( """ The partner ID to filter accounts by """ partnerId: String! ): [InstagramAccount!] """ A type-specific ID. """ internalID: ID! isCollector: Boolean! """ User has confirmed their email address """ isEmailConfirmed: Boolean! isIdentityVerified: Boolean """ List of lab features for this user """ labFeatures: [String!]! """ Length unit preference of the user """ lengthUnitPreference: LengthUnitPreference! location: MyLocation """ The current user's status relating to bids on artworks """ lotStanding( artworkID: String saleArtworkID: String saleID: String ): LotStanding """ A list of the current user's auction standings for given lots """ lotStandings( """ Only includes lots on which you have a leading bidder position. """ activePositions: Boolean """ Only the lot standings on a specific artwork """ artworkID: String """ Only the lot standings for currently open or closed auctions. """ live: Boolean saleArtworkID: String """ Only the lot standings for a specific auction """ saleID: String ): [LotStanding] """ Sale Artworks search results """ lotsByFollowedArtistsConnection( after: String """ Please make sure to supply the TOTAL aggregation if you will be setting any aggregations """ aggregations: [SaleArtworkAggregation] artistIDs: [String] before: String biddableSale: Boolean estimateRange: String excludeClosedLots: Boolean first: Int geneIDs: [String] """ When called under the Me field, this defaults to true. Otherwise it defaults to false """ includeArtworksByFollowedArtists: Boolean isAuction: Boolean last: Int liveSale: Boolean marketable: Boolean page: Int saleID: ID """ Same as saleID argument, but matches the argument type of `sale(id: 'foo')` root field """ saleSlug: String size: Int sort: String userId: String ): SaleArtworksConnection """ A list of Mailchimp accounts connected by the current user """ mailchimpAccounts( """ The partner ID to filter accounts by """ partnerId: String! ): [MailchimpAccount!] myBids: MyBids """ A list of auction results from artists in My Collection """ myCollectionAuctionResults( after: String """ Allow auction results with empty created date values """ allowEmptyCreatedDates: Boolean = true before: String """ Filter auction results by category (medium) """ categories: [String] """ Filter auction results by earliest created at year """ earliestCreatedYear: Int first: Int last: Int """ Filter auction results by latest created at year """ latestCreatedYear: Int """ Filter auction results by organizations """ organizations: [String] """ When true, will only return records for allowed artists. """ recordsTrusted: Boolean = false """ Filter auction results by Artwork sizes """ sizes: [ArtworkSizes] sort: AuctionResultSorts """ State of the returned auction results (can be past, upcoming, or all) """ state: AuctionResultsState = ALL ): AuctionResultConnection myCollectionConnection( after: String """ Filter by artist IDs """ artistIDs: [String!] before: String """ Exclude artworks that have been purchased on Artsy and automatically added to the collection. """ excludePurchasedArtworks: Boolean = false first: Int """ Show only artworks from target supply artists """ includeOnlyTargetSupply: Boolean = false last: Int page: Int size: Int sort: MyCollectionArtworkSorts """ Sort by most recent price insight updates, filter out artworks without insights and return artworks uniq by artist & medium. """ sortByLastAuctionResultDate: Boolean = false ): MyCollectionConnection """ Info about the current user's my-collection """ myCollectionInfo: MyCollectionInfo name: String """ A connection of new works by artists the user interacted with (sorted by publication date). """ newWorksByInterestingArtists( after: String before: String first: Int last: Int page: Int ): ArtworkConnection """ A list of artworks from galleries the user follows. """ newWorksFromGalleriesYouFollowConnection( after: String before: String first: Int last: Int ): ArtworkConnection """ Retrieve one user's notification by notification ID """ notification( """ The ID of the Notification """ id: String! ): Notification order(id: ID!): Order orders( after: String before: String first: Int last: Int mode: CommerceOrderModeEnum sellerId: String sort: CommerceOrderConnectionSortEnum states: [CommerceOrderStateEnum!] ): CommerceOrderConnectionWithTotalCount ordersConnection( after: String """ Filter by artwork ID in line items """ artworkID: String before: String """ Filter by buyer states """ buyerState: [OrderBuyerStateEnum] """ Filter by edition set ID in line items (requires artworkID) """ editionSetID: String first: Int last: Int page: Int size: Int ): MeOrdersConnection """ Collector's position with relevant institutions """ otherRelevantPosition: String @deprecated(reason: "Use `otherRelevantPositions` instead") """ Collector's position with relevant institutions """ otherRelevantPositions: String paddleNumber: String partnerOffersConnection( after: String artworkID: String before: String first: Int last: Int """ Filter by offer type(s). Gravity defaults to all a users partner offers when omitted. """ offerType: [PartnerOfferTypeEnum] page: Int size: Int sort: PartnerOfferToCollectorSorts ): PartnerOfferToCollectorConnection """ A list of the current user’s managed partners """ partners(size: Int): [Partner] """ The user's most current pending identity verification, if it exists """ pendingIdentityVerification: IdentityVerification phone: String """ Two-letter country code for the user's phone number """ phoneCountryCode: String phoneNumber: PhoneNumberType """ User's price preference, in USD. """ pricePreference: Float priceRange: String priceRangeMax: Float priceRangeMin: Float privacy: String profession: String """ The art quiz of a logged-in user """ quiz: Quiz! """ This user should receive lot opening notifications """ receiveLotOpeningSoonNotification: Boolean """ This user should receive new sales notifications """ receiveNewSalesNotification: Boolean """ This user should receive new works notifications """ receiveNewWorksNotification: Boolean """ This user should receive order notifications """ receiveOrderNotification: Boolean """ This user should receive outbid notifications """ receiveOutbidNotification: Boolean """ This user should receive partner offer notifications """ receivePartnerOfferNotification: Boolean """ This user should receive partner show notifications """ receivePartnerShowNotification: Boolean """ This user should receive promotional notifications """ receivePromotionNotification: Boolean """ This user should receive purchase notifications """ receivePurchaseNotification: Boolean """ This user should receive sale opening/closing notifications """ receiveSaleOpeningClosingNotification: Boolean """ This user should receive viewing room notifications """ receiveViewingRoomNotification: Boolean recentlyViewedArtworkIds: [String]! """ A list of the current user’s recently viewed artworks. """ recentlyViewedArtworksConnection( after: String before: String first: Int last: Int ): ArtworkConnection recommendedArtworks( after: String before: String first: Int last: Int page: Int ): ArtworkConnection @deprecated( reason: "These genomic recs are deprecated. Use artworkRecommendations instead." ) saleRegistrationsConnection( after: String auctionState: AuctionState before: String first: Int "\n Only return sales matching specified ids.\n Accepts list of ids.\n " ids: [String] """ Limit by auction. """ isAuction: Boolean = true last: Int """ Limit by live status. """ live: Boolean = true """ Limit by published status. """ published: Boolean = true """ Returns sales the user has registered for if true, returns sales the user has not registered for if false. """ registered: Boolean sort: SaleSorts """ If present, will search by term """ term: String ): SaleRegistrationConnection secondFactors(kinds: [SecondFactorKind]): [SecondFactor] shareFollows: Boolean! """ A list of shows by followed artists """ showsByFollowedArtists( after: String before: String first: Int last: Int sort: ShowSorts = CREATED_AT_DESC """ Filter shows by chronological event status """ status: EventStatus = CURRENT ): ShowConnection """ A list of shows for the user (pagination logic might be broken) """ showsConnection( after: String before: String first: Int """ Include shows near the user's location based on the IP address """ includeShowsNearIpBasedLocation: Boolean = false """ When set, this IP address will be used to look up the location, instead of the request's IP address. """ ip: String last: Int """ Include shows within a radius of the provided location """ near: Near sort: ShowSorts = CREATED_AT_DESC """ Filter shows by chronological event status """ status: EventStatus = CURRENT ): ShowConnection """ A list of artworks similar to recently viewed artworks. """ similarToRecentlyViewedConnection( after: String before: String first: Int last: Int ): ArtworkConnection """ A list of the current user’s submissions """ submissionsConnection( after: String before: String first: Int last: Int states: [ArtworkConsignmentSubmissionState] ): ArtworkConsignmentSubmissionConnection tasks(limit: Int): [Task] type: String """ The count of conversations with unread messages. """ unreadConversationCount: Int! """ A count of unread notifications. """ unreadNotificationsCount: Int! """ A count of unseen notifications. """ unseenNotificationsCount: Int! """ Get a user interest """ userInterest( """ The ID of the UserInterest """ id: String ): UserInterest userInterestsConnection( after: String before: String """ UserInterest category to select. 'collected_before' or 'interested_in_collecting' category """ category: UserInterestCategory first: Int """ Id of the user interests to return if found. Can be an 'Artist' Id or a 'Gene' Id """ interestID: String """ UserInterest InterestType to select. 'Artist' or 'Gene' type """ interestType: UserInterestInterestType last: Int page: Int size: Int ): UserInterestConnection """ A list of lots a user is watching. """ watchedLotConnection( after: String before: String first: Int last: Int ): LotConnection } type MeCounts { followedArtists: Int! """ Returns the total count of followed profiles. There is currently no way to filter this count by `owner_type`. """ followedProfiles: Int! savedArtworks: Int! savedSearches: Int! } """ A connection to a list of items. """ type MeOrdersConnection { """ A list of edges. """ edges: [MeOrdersEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type MeOrdersEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: Order } type MergeArtistsFailure { mutationError: GravityMutationError } """ A map describing the field-level overrides that should be part of this merge. - Each **key** is a field name such as `nationality` - Each **value** is a BSON ID that indicates the artist record from which we will _prefer_ the value for the given field """ input MergeArtistsFieldOverrides { """ ID of the artist record that contains the `birthday` value that we want to preserve. """ birthday: ID """ ID of the artist record that contains the `deathday` value that we want to preserve. """ deathday: ID """ ID of the artist record that contains the `gender` value that we want to preserve. """ gender: ID """ ID of the artist record that contains the `hometown` value that we want to preserve. """ hometown: ID """ ID of the artist record that contains the `location` value that we want to preserve. """ location: ID """ ID of the artist record that contains the `nationality` value that we want to preserve. """ nationality: ID } input MergeArtistsMutationInput { """ The database ID of the "bad" artist record(s), which will be **discarded** after the merge """ badIds: [String!]! clientMutationId: String """ The database ID of the "good" artist record, which will be **kept** after the merge. Relevant fields and associations from the bad records will be merged into this one. """ goodId: String! """ A map describing the field-level overrides that should be part of this merge. """ overrides: MergeArtistsFieldOverrides } type MergeArtistsMutationPayload { clientMutationId: String """ On success: the "good" artist record, which was kept after the merge. Upon a successful merge this record may have been updated. """ mergeArtistsResponseOrError: MergeArtistsResponseOrError } union MergeArtistsResponseOrError = MergeArtistsFailure | MergeArtistsSuccess type MergeArtistsSuccess { artist: Artist } type MergeArtworkDuplicatePairFailure { mutationError: GravityMutationError } input MergeArtworkDuplicatePairMutationInput { clientMutationId: String """ Optional field-level overrides for the merge """ fieldOverrides: ArtworkDuplicateMergeFieldOverridesInput """ The ID of the artwork duplicate pair """ id: String! """ The ID of the artwork to keep as primary """ primaryArtworkId: String! } type MergeArtworkDuplicatePairMutationPayload { artworkDuplicatePairOrError: MergeArtworkDuplicatePairResponseOrError clientMutationId: String } union MergeArtworkDuplicatePairResponseOrError = MergeArtworkDuplicatePairFailure | MergeArtworkDuplicatePairSuccess type MergeArtworkDuplicatePairSuccess { artworkDuplicatePair: ArtworkDuplicatePair } """ A message in a conversation. """ type Message implements Node { attachments: [Attachment] """ Unaltered text if possible, otherwise `body`: a parsed/sanitized version from Sendgrid. """ body: String """ Masked emails w/ display name of the recipients in copy. """ cc: [String!]! createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String deliveries: [Delivery] from: MessageInitiator """ A globally unique ID. """ id: ID! """ Impulse message id. """ impulseID: String! @deprecated(reason: "Prefer internalID") """ A type-specific ID likely used as a database ID. """ internalID: ID! """ True if message is the first in the conversation. """ isFirstMessage: Boolean """ True if message is from the user to the partner. """ isFromUser: Boolean """ True if message was sent on the platform. False if sent via an email client. """ isMessageSentOnPlatform: Boolean sentAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ Masked emails w/ display name of the recipients. """ to: [String!]! } """ A connection to a list of items. """ type MessageConnection { """ A list of edges. """ edges: [MessageEdge] """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type MessageEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: Message } """ The participant who sent the message. """ type MessageInitiator { email: String name: String } union MessageOrConversationEventType = ConversationEvent | Message """ A connection to a list of items. """ type MessageOrConversationEventTypeConnection { """ A list of edges. """ edges: [MessageOrConversationEventTypeEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type MessageOrConversationEventTypeEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: MessageOrConversationEventType } type MetaphysicsService { environment: String! queryTracing: Boolean! stitching: Boolean! stitchingConvection: Boolean! stitchingExchange: Boolean! } """ A recorded change to a trackable model. """ type ModelChange { createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ The event type (create, update, delete). """ event: String! """ A map of changed field names to [previous_value, next_value] pairs. """ fieldChanges: JSON! """ List of field names that were changed. """ fieldsChanged: [String!]! """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! """ The ID of the changed record. """ trackableId: String! """ The type of the changed record. """ trackableType: String! """ The user who made the change. """ user: User """ The ID of the user who made the change. """ userID: String } """ A connection to a list of items. """ type ModelChangeConnection { """ A list of edges. """ edges: [ModelChangeEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type ModelChangeEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: ModelChange } enum ModelChangeTrackableType { ARTWORK } type Money { """ A pre-formatted price. """ amount: String """ The ISO-4217 alphabetic currency code, as per https://en.wikipedia.org/wiki/ISO_4217 """ currencyCode: String! """ The symbol used for the currency """ currencyPrefix: String """ The symbol used for the currency without disambiguation """ currencySymbol: String """ A pre-formatted price. """ display: String """ An amount of money expressed in major units (like dollars). """ major( """ ISO-4217 code of a destination currency for conversion """ convertTo: String ): Float! """ An amount of money expressed in minor units (like cents). """ minor: Long! } type MoveArtworksBetweenPartnerListsFailure { mutationError: GravityMutationError } input MoveArtworksBetweenPartnerListsMutationInput { """ The IDs of the artworks to move. """ artworkIds: [String!]! clientMutationId: String """ The ID of the destination partner list. """ destinationListId: String! """ The ID of the source partner list. """ sourceListId: String! } type MoveArtworksBetweenPartnerListsMutationPayload { clientMutationId: String """ On success: the destination partner list. On error: the error that occurred. """ partnerListOrError: MoveArtworksBetweenPartnerListsResponseOrError } union MoveArtworksBetweenPartnerListsResponseOrError = MoveArtworksBetweenPartnerListsFailure | MoveArtworksBetweenPartnerListsSuccess type MoveArtworksBetweenPartnerListsSuccess { """ The destination partner list after the move. """ partnerList: PartnerList } """ Mutation root for this schema """ type Mutation { """ Accept a partner agreement """ acceptPartnerAgreement( input: AcceptPartnerAgreementInput! ): AcceptPartnerAgreementPayload """ Accept a seller's offer on an order """ acceptSellerOffer(input: acceptSellerOfferInput!): acceptSellerOfferPayload """ Updates a Task on the logged in User """ ackTask(input: AckTaskMutationInput!): AckTaskMutationPayload """ Adds an artwork to a partner list. """ addArtworkToPartnerList( input: AddArtworkToPartnerListMutationInput! ): AddArtworkToPartnerListMutationPayload """ Adds an artwork to a partner show. """ addArtworkToPartnerShow( input: AddArtworkToPartnerShowMutationInput! ): AddArtworkToPartnerShowMutationPayload addAssetToConsignmentSubmission( """ Parameters for AddAssetToConsignmentSubmission """ input: AddAssetToConsignmentSubmissionInput! ): AddAssetToConsignmentSubmissionPayload addAssetsToConsignmentSubmission( """ Parameters for AddAssetsToConsignmentSubmission """ input: AddAssetsToConsignmentSubmissionInput! ): AddAssetsToConsignmentSubmissionPayload """ Adds an installation shot to a partner show. """ addInstallShotToPartnerShow( input: AddInstallShotToPartnerShowMutationInput! ): AddInstallShotToPartnerShowMutationPayload """ adds an item to an ordered set. """ addOrderedSetItem( input: addOrderedSetItemMutationInput! ): addOrderedSetItemMutationPayload """ Add a role associated with a user """ addUserRole(input: addUserRoleMutationInput!): addUserRoleMutationPayload addUserToSubmission( """ Parameters for AddUserToSubmissionMutation """ input: AddUserToSubmissionMutationInput! ): AddUserToSubmissionMutationPayload """ Creates a new feature flag """ adminCreateFeatureFlag( input: AdminCreateFeatureFlagInput! ): AdminCreateFeatureFlagPayload """ Deletes a feature flag """ adminDeleteFeatureFlag( input: AdminDeleteFeatureFlagInput! ): AdminDeleteFeatureFlagPayload """ Toggles a feature flag on or off for a given environment """ adminToggleFeatureFlag( input: AdminToggleFeatureFlagInput! ): AdminToggleFeatureFlagPayload """ Updates a feature flag """ adminUpdateFeatureFlag( input: AdminUpdateFeatureFlagInput! ): AdminUpdateFeatureFlagPayload """ Update all artworks that belong to the partner """ artsyShippingOptIn( input: ArtsyShippingOptInMutationInput! ): ArtsyShippingOptInMutationPayload """ Add / remove artworks to / from collections """ artworksCollectionsBatchUpdate( input: ArtworksCollectionsBatchUpdateInput! ): ArtworksCollectionsBatchUpdatePayload """ Assigns an artist to a partner, creating a PartnerArtist record. """ assignArtistToPartner( input: AssignArtistToPartnerMutationInput! ): AssignArtistToPartnerMutationPayload """ Authenticates against a passcode-protected private viewing room, returning its contents on success. """ authenticatePrivateViewingRoom( input: AuthenticatePrivateViewingRoomMutationInput! ): AuthenticatePrivateViewingRoomMutationPayload """ Initiate the Instagram OAuth flow and return the authorization URL """ authorizeInstagramAccount( input: AuthorizeInstagramAccountInput! ): AuthorizeInstagramAccountPayload """ Initiate the Mailchimp OAuth flow and return the authorization URL """ authorizeMailchimpAccount( input: AuthorizeMailchimpAccountInput! ): AuthorizeMailchimpAccountPayload batchArtworkImportImages( input: BatchArtworkImportImagesInput! ): BatchArtworkImportImagesPayload """ Bulk adds artworks to a partner list. """ bulkAddArtworksToPartnerList( input: BulkAddArtworksToPartnerListMutationInput! ): BulkAddArtworksToPartnerListMutationPayload """ Bulk add artworks to a show """ bulkAddArtworksToShow( input: BulkAddArtworksToShowMutationInput! ): BulkAddArtworksToShowMutationPayload """ Delete all artworks that belong to the partner """ bulkDeleteArtworks( input: BulkDeleteArtworksMutationInput! ): BulkDeleteArtworksMutationPayload """ Bulk removes artworks from a partner list. """ bulkDeleteArtworksFromPartnerList( input: BulkDeleteArtworksFromPartnerListMutationInput! ): BulkDeleteArtworksFromPartnerListMutationPayload """ Update all artworks that belong to the partner """ bulkUpdateArtworksMetadata( input: BulkUpdateArtworksMetadataMutationInput! ): BulkUpdateArtworksMetadataMutationPayload """ Creates a pending offer on an pending order. """ commerceAddInitialOfferToOrder( """ Parameters for AddInitialOfferToOrder """ input: CommerceAddInitialOfferToOrderInput! ): CommerceAddInitialOfferToOrderPayload """ Approves an order. Different procedures will be done depending on the payment method. In general, approving an order will: commit a tax transaction; capture a hold or charge the payment; book the shippment. If the payment method is asychronous, a pre-approval operation will be done instead. """ commerceApproveOrder( """ Parameters for ApproveOrder """ input: CommerceApproveOrderInput! ): CommerceApproveOrderPayload """ Allows the buyer to accept a seller's offer. Once the offer is accepted, the order will be effectively approved. """ commerceBuyerAcceptOffer( """ Parameters for BuyerAcceptOffer """ input: CommerceBuyerAcceptOfferInput! ): CommerceBuyerAcceptOfferPayload """ Creates a pending counter offer on an order. """ commerceBuyerCounterOffer( """ Parameters for BuyerCounterOffer """ input: CommerceBuyerCounterOfferInput! ): CommerceBuyerCounterOfferPayload """ Allows the buyer to reject a seller's offer. Once the offer is rejected, the order will be effectively cancelled. """ commerceBuyerRejectOffer( """ Parameters for BuyerRejectOffer """ input: CommerceBuyerRejectOfferInput! ): CommerceBuyerRejectOfferPayload """ Confirms the fulfillment of an order """ commerceConfirmFulfillment( """ Parameters for ConfirmFulfillment """ input: CommerceConfirmFulfillmentInput! ): CommerceConfirmFulfillmentPayload """ Confirms the pickup of an order """ commerceConfirmPickup( """ Parameters for ConfirmPickup """ input: CommerceConfirmPickupInput! ): CommerceConfirmPickupPayload """ Creates a bank debit setup intent in Stripe for a pending order. Also creates an internal Transaction record. """ commerceCreateBankDebitSetupForOrder( """ Parameters for CreateBankDebitSetupForOrder """ input: CommerceCreateBankDebitSetupForOrderInput! ): CommerceCreateBankDebitSetupForOrderPayload """ Creates an offer Order with inquiry as source. """ commerceCreateInquiryOfferOrderWithArtwork( """ Parameters for CreateInquiryOfferOrderWithArtwork """ input: CommerceCreateInquiryOfferOrderWithArtworkInput! ): CommerceCreateInquiryOfferOrderWithArtworkPayload """ Creates a buy Order with inquiry as source. """ commerceCreateInquiryOrderWithArtwork( """ Parameters for CreateInquiryOrderWithArtwork """ input: CommerceCreateInquiryOrderWithArtworkInput! ): CommerceCreateInquiryOrderWithArtworkPayload """ Creates an offer Order with artwork_page as source. """ commerceCreateOfferOrderWithArtwork( """ Parameters for CreateOfferOrderWithArtwork """ input: CommerceCreateOfferOrderWithArtworkInput! ): CommerceCreateOfferOrderWithArtworkPayload """ Creates a buy Order with artwork_page as source. """ commerceCreateOrderWithArtwork( """ Parameters for CreateOrderWithArtwork """ input: CommerceCreateOrderWithArtworkInput! ): CommerceCreateOrderWithArtworkPayload """ Creates a buy Order with partner_offer as source. """ commerceCreatePartnerOfferOrder( """ Parameters for CreatePartnerOfferOrder """ input: CommerceCreatePartnerOfferOrderInput! ): CommerceCreatePartnerOfferOrderPayload """ Fixes a failed payment. Essentially, it will update the credit card on the order and attempt to approve it again. """ commerceFixFailedPayment( """ Parameters for FixFailedPayment """ input: CommerceFixFailedPaymentInput! ): CommerceFixFailedPaymentPayload """ Fulfill an order with one Fulfillment, it sets this fulfillment to each line item in order """ commerceFulfillAtOnce( """ Parameters for FulfillAtOnce """ input: CommerceFulfillAtOnceInput! ): CommerceFulfillAtOncePayload """ Opt all eligible artworks into BNMO """ commerceOptIn( input: CommerceOptInMutationInput! ): CommerceOptInMutationPayload """ Generate CommerceOptIn report about artworks eligibility for a given partner """ commerceOptInReport( input: CommerceOptInReportMutationInput! ): CommerceOptInReportMutationPayload """ Selects an ARTA shipping option for an order, updating the LineItem#selected_shipping_quote_id. """ commerceSelectShippingOption( """ Parameters for SelectShippingOption """ input: CommerceSelectShippingOptionInput! ): CommerceSelectShippingOptionPayload """ Accepts a buyer offer on an order from the seller perspective. This will essentially approve the order. """ commerceSellerAcceptOffer( """ Parameters for SellerAcceptOffer """ input: CommerceSellerAcceptOfferInput! ): CommerceSellerAcceptOfferPayload """ Seller accepts a provisional offer from buyer. It submits a counter offer back to the buyer to review, with final totals defined such as tax, shipping, etc. """ commerceSellerAcceptProvisionalOffer( """ Parameters for SellerAcceptProvisionalOffer """ input: CommerceSellerAcceptProvisionalOfferInput! ): CommerceSellerAcceptProvisionalOfferPayload """ Creates a seller counter offer. """ commerceSellerCounterOffer( """ Parameters for SellerCounterOffer """ input: CommerceSellerCounterOfferInput! ): CommerceSellerCounterOfferPayload """ Rejects a buyer offer on an order. This will essentially cancel the order. """ commerceSellerRejectOffer( """ Parameters for SellerRejectOffer """ input: CommerceSellerRejectOfferInput! ): CommerceSellerRejectOfferPayload """ Sets the payment method for an order. """ commerceSetPayment( """ Parameters for SetPayment """ input: CommerceSetPaymentInput! ): CommerceSetPaymentPayload """ Creates a Stripe payment intent for ACH payments. """ commerceSetPaymentByStripeIntent( """ Parameters for SetPaymentByStripeIntent """ input: CommerceSetPaymentByStripeIntentInput! ): CommerceSetPaymentByStripeIntentPayload """ Sets shipping information on an order based on the fulfillment type. Additionally, it recalculates and updates the order's total costs and tax values accordingly. If 'address_verified_by' is provided, a server side address verification will be performed accordingly. """ commerceSetShipping( """ Parameters for SetShipping """ input: CommerceSetShippingInput! ): CommerceSetShippingPayload """ Submits an order. If the order is from a private sale, it will also approve the order. """ commerceSubmitOrder( """ Parameters for SubmitOrder """ input: CommerceSubmitOrderInput! ): CommerceSubmitOrderPayload """ Submits an order with an offer. """ commerceSubmitOrderWithOffer( """ Parameters for SubmitOrderWithOffer """ input: CommerceSubmitOrderWithOfferInput! ): CommerceSubmitOrderWithOfferPayload """ Submits a pending offer. """ commerceSubmitPendingOffer( """ Parameters for SubmitPendingOffer """ input: CommerceSubmitPendingOfferInput! ): CommerceSubmitPendingOfferPayload """ Updates the value of impulse_conversation_id on an order """ commerceUpdateImpulseConversationId( """ Parameters for UpdateImpulseConversationId """ input: CommerceUpdateImpulseConversationIdInput! ): CommerceUpdateImpulseConversationIdPayload """ Complete the Instagram OAuth flow by exchanging the authorization code for an account """ completeInstagramOAuth( input: CompleteInstagramOAuthInput! ): CompleteInstagramOAuthPayload """ Complete the Mailchimp OAuth flow by exchanging the authorization code for an account """ completeMailchimpOAuth( input: CompleteMailchimpOAuthInput! ): CompleteMailchimpOAuthPayload """ Confirms the user's password """ confirmPassword(input: ConfirmPasswordInput!): ConfirmPasswordPayload convectionCreateConsignmentSubmission( """ Parameters for CreateSubmissionMutation """ input: CreateSubmissionMutationInput! ): CreateSubmissionMutationPayload """ Create an account request """ createAccountRequest( input: CreateAccountRequestMutationInput! ): CreateAccountRequestMutationPayload """ Create an alert """ createAlert(input: createAlertInput!): createAlertPayload createAndSendBackupSecondFactor( input: CreateAndSendBackupSecondFactorInput! ): CreateAndSendBackupSecondFactorPayload createAppSecondFactor( input: CreateAppSecondFactorInput! ): CreateAppSecondFactorPayload """ Create an artist, used for MyCollection. use CreateCanonicalArtistMutation for all other cases """ createArtist(input: CreateArtistMutationInput!): CreateArtistMutationPayload """ Kicks off a background job to pull a gallery's Artnet inventory and create corresponding Artsy artwork records. """ createArtnetImport( input: CreateArtnetImportMutationInput! ): CreateArtnetImportMutationPayload createArtnetImportArtistAssignment( input: CreateArtnetImportArtistAssignmentInput! ): CreateArtnetImportArtistAssignmentPayload """ Creates a new artwork, optionally with associated images. """ createArtwork( input: CreateArtworkMutationInput! ): CreateArtworkMutationPayload """ Create an artwork from an artwork template, optionally with images. """ createArtworkFromTemplate( input: CreateArtworkFromTemplateInput! ): CreateArtworkFromTemplatePayload createArtworkImport( input: CreateArtworkImportInput! ): CreateArtworkImportPayload createArtworkImportArtistAssignment( input: CreateArtworkImportArtistAssignmentInput! ): CreateArtworkImportArtistAssignmentPayload createArtworkImportArtistMatch( input: CreateArtworkImportArtistMatchInput! ): CreateArtworkImportArtistMatchPayload createArtworkImportArtworks( input: CreateArtworkImportArtworksInput! ): CreateArtworkImportArtworksPayload createArtworkImportCellFlag( input: CreateArtworkImportCellFlagInput! ): CreateArtworkImportCellFlagPayload createArtworkTemplate( input: CreateArtworkTemplateInput! ): CreateArtworkTemplatePayload createBackupSecondFactors( input: CreateBackupSecondFactorsInput! ): CreateBackupSecondFactorsPayload """ Create a bidder """ createBidder(input: CreateBidderInput!): CreateBidderPayload """ Creates a bidder position """ createBidderPosition(input: BidderPositionInput!): BidderPositionPayload """ Create a brand kit for a partner """ createBrandKit(input: CreateBrandKitInput!): CreateBrandKitPayload """ Create a buyer offer on an order """ createBuyerOffer(input: createBuyerOfferInput!): createBuyerOfferPayload """ Create a canonical artist """ createCanonicalArtist( input: CreateCanonicalArtistMutationInput! ): CreateCanonicalArtistMutationPayload """ Creates Artist Career Highlight. """ createCareerHighlight( input: CreateCareerHighlightInput! ): CreateCareerHighlightPayload """ Attaches a document to a catalog artwork. """ createCatalogArtworkDocument( input: CreateCatalogArtworkDocumentMutationInput! ): CreateCatalogArtworkDocumentMutationPayload """ Create a collection """ createCollection(input: createCollectionInput!): createCollectionPayload """ Make inquiry about consignments """ createConsignmentInquiry( input: CreateConsignmentInquiryMutationInput! ): CreateConsignmentInquiryMutationPayload createConsignmentOffer( """ Parameters for CreateOfferMutation """ input: CreateOfferMutationInput! ): CreateOfferMutationPayload createConsignmentOfferResponse( """ Parameters for CreateOfferResponseMutation """ input: CreateOfferResponseMutationInput! ): CreateOfferResponseMutationPayload createConsignmentSubmission( """ Parameters for CreateSubmissionMutation """ input: CreateSubmissionMutationInput! ): CreateSubmissionMutationPayload """ Creates a new conversation message template """ createConversationMessageTemplate( input: CreateConversationMessageTemplateInput! ): CreateConversationMessageTemplatePayload """ Create a credit card """ createCreditCard(input: CreditCardInput!): CreditCardPayload """ Creates a feature. """ createFeature( input: CreateFeatureMutationInput! ): CreateFeatureMutationPayload """ Creates a featured link. """ createFeaturedLink( input: CreateFeaturedLinkMutationInput! ): CreateFeaturedLinkMutationPayload """ Attach an gemini asset to a consignment submission """ createGeminiEntryForAsset( input: CreateGeminiEntryForAssetInput! ): CreateGeminiEntryForAssetPayload """ Creates a hero unit. """ createHeroUnit( input: CreateHeroUnitMutationInput! ): CreateHeroUnitMutationPayload """ Create an identity verification override """ createIdentityVerificationOverride( input: CreateIdentityVerificationOverrideMutationInput! ): CreateIdentityVerificationOverrideMutationPayload """ Creates a standalone image and queues it for processing via Gemini. """ createImage(input: CreateImageInput!): CreateImagePayload createInquiryOfferOrder( input: CommerceCreateInquiryOfferOrderWithArtworkInput! ): CommerceCreateInquiryOfferOrderWithArtworkPayload createInquiryOrder( input: CommerceCreateInquiryOrderWithArtworkInput! ): CommerceCreateInquiryOrderWithArtworkPayload """ Create and publish an Instagram post from one or more artworks or images. """ createInstagramPost( input: CreateInstagramPostInput! ): CreateInstagramPostPayload createInvoicePayment( input: CreateInvoicePaymentInput! ): CreateInvoicePaymentPayload """ Create a Mailchimp campaign draft for a partner from pre-rendered HTML """ createMailchimpCampaign( input: CreateMailchimpCampaignInput! ): CreateMailchimpCampaignPayload createNavigationDraft( input: CreateNavigationDraftInput! ): CreateNavigationDraftPayload createNavigationItem( input: CreateNavigationItemInput! ): CreateNavigationItemPayload """ Creates an ordered set. """ createOrderedSet( input: CreateOrderedSetMutationInput! ): CreateOrderedSetMutationPayload """ Creates a static Markdown-backed page. """ createPage(input: CreatePageMutationInput!): CreatePageMutationPayload """ Creates a partner artist document. """ createPartnerArtistDocument( input: CreatePartnerArtistDocumentMutationInput! ): CreatePartnerArtistDocumentMutationPayload """ Enqueue a CSV export of all artworks for a partner. """ createPartnerArtworksExport( input: CreatePartnerArtworksExportMutationInput! ): CreatePartnerArtworksExportMutationPayload """ Creates a new contact for a partner """ createPartnerContact( input: CreatePartnerContactInput! ): CreatePartnerContactPayload """ Creates a new partner list. """ createPartnerList( input: CreatePartnerListMutationInput! ): CreatePartnerListMutationPayload """ Creates a new location for a partner """ createPartnerLocation( input: CreatePartnerLocationInput! ): CreatePartnerLocationPayload """ Creates a new weekly schedule for a partner location """ createPartnerLocationDaySchedules( input: CreatePartnerLocationDaySchedulesInput! ): CreatePartnerLocationDaySchedulesPayload """ Create a partner offer for the users """ createPartnerOffer( input: createPartnerOfferMutationInput! ): createPartnerOfferMutationPayload """ Creates a partner show. """ createPartnerShow( input: CreatePartnerShowMutationInput! ): CreatePartnerShowMutationPayload """ Creates a partner show document. """ createPartnerShowDocument( input: CreatePartnerShowDocumentMutationInput! ): CreatePartnerShowDocumentMutationPayload """ Creates a partner show event. """ createPartnerShowEvent( input: CreatePartnerShowEventMutationInput! ): CreatePartnerShowEventMutationPayload """ Create a purchase """ createPurchase(input: createPurchaseInput!): createPurchasePayload """ Creates a static Markdown-backed sale agreement. """ createSaleAgreement( input: CreateSaleAgreementMutationInput! ): CreateSaleAgreementMutationPayload """ Creates a shipping preset for a partner. """ createShippingPreset( input: CreateShippingPresetMutationInput! ): CreateShippingPresetMutationPayload createSmsSecondFactor( input: CreateSmsSecondFactorInput! ): CreateSmsSecondFactorPayload createUserAddress(input: CreateUserAddressInput!): CreateUserAddressPayload """ Create a admin note for the user """ createUserAdminNote( input: createUserAdminNoteMutationInput! ): createUserAdminNoteMutationPayload """ Creates a UserInterest on the logged in User's CollectorProfile. """ createUserInterest( input: CreateUserInterestMutationInput! ): CreateUserInterestMutationPayload """ Creates a UserInterest for a user. """ createUserInterestForUser( input: CreateUserInterestForUserInput! ): CreateUserInterestForUserPayload """ Collect Multiple Artists """ createUserInterests( input: CreateUserInterestsMutationInput! ): CreateUserInterestsMutationPayload """ Create a sale profile for a user """ createUserSaleProfile( input: CreateUserSaleProfileMutationInput! ): CreateUserSaleProfileMutationPayload """ Marks an artwork as seen when a user swipes through Infinite Discovery. """ createUserSeenArtwork( input: CreateUserSeenArtworkInput! ): CreateUserSeenArtworkPayload """ Creates Verified Representative. """ createVerifiedRepresentative( input: CreateVerifiedRepresentativeInput! ): CreateVerifiedRepresentativePayload """ Create a video """ createVideo(input: CreateVideoInput!): CreateVideoPayload createViewingRoom(input: CreateViewingRoomInput!): CreateViewingRoomPayload """ Deletes an alert """ deleteAlert(input: deleteAlertInput!): deleteAlertPayload """ Delete an artist """ deleteArtist(input: DeleteArtistInput!): DeleteArtistPayload """ Deletes an artwork. """ deleteArtwork( input: DeleteArtworkMutationInput! ): DeleteArtworkMutationPayload """ Deletes an image from an artwork in my collection """ deleteArtworkImage(input: DeleteArtworkImageInput!): DeleteArtworkImagePayload """ Queues an asynchronous job to delete an artwork import and associated unpublished artworks. Published artworks are preserved. Deletion happens in the background and results are sent via WebSocket. """ deleteArtworkImport( input: DeleteArtworkImportInput! ): DeleteArtworkImportPayload """ Delete an artwork template. """ deleteArtworkTemplate( input: DeleteArtworkTemplateInput! ): DeleteArtworkTemplatePayload """ Remove a bank account """ deleteBankAccount(input: DeleteBankAccountInput!): DeleteBankAccountPayload """ Delete a partner's brand kit """ deleteBrandKit(input: DeleteBrandKitInput!): DeleteBrandKitPayload """ Remove the logo from a brand kit """ deleteBrandKitLogo(input: DeleteBrandKitLogoInput!): DeleteBrandKitLogoPayload """ Delete an artist career highlight """ deleteCareerHighlight( input: DeleteCareerHighlightInput! ): DeleteCareerHighlightPayload """ Deletes a catalog artwork document. """ deleteCatalogArtworkDocument( input: DeleteCatalogArtworkDocumentMutationInput! ): DeleteCatalogArtworkDocumentMutationPayload """ Delete a collection """ deleteCollection(input: deleteCollectionInput!): deleteCollectionPayload """ Soft-delete a conversation. """ deleteConversation( input: DeleteConversationMutationInput! ): DeleteConversationMutationPayload """ Deletes a conversation message template """ deleteConversationMessageTemplate( input: DeleteConversationMessageTemplateInput! ): DeleteConversationMessageTemplatePayload """ Remove a credit card """ deleteCreditCard(input: DeleteCreditCardInput!): DeleteCreditCardPayload """ deletes a feature. """ deleteFeature( input: DeleteFeatureMutationInput! ): DeleteFeatureMutationPayload """ deletes a featured link. """ deleteFeaturedLink( input: DeleteFeaturedLinkMutationInput! ): DeleteFeaturedLinkMutationPayload """ deletes a hero unit. """ deleteHeroUnit( input: deleteHeroUnitMutationInput! ): deleteHeroUnitMutationPayload """ Disconnect an Instagram account from a partner """ deleteInstagramAccount( input: DeleteInstagramAccountInput! ): DeleteInstagramAccountPayload """ Disconnect a Mailchimp account from a partner """ deleteMailchimpAccount( input: DeleteMailchimpAccountInput! ): DeleteMailchimpAccountPayload """ Delete User Artsy Account """ deleteMyAccountMutation(input: DeleteAccountInput!): DeleteAccountPayload """ Remove the user icon """ deleteMyUserProfileIcon(input: DeleteUserIconInput!): DeleteUserIconPayload deleteNavigationItem( input: DeleteNavigationItemInput! ): DeleteNavigationItemPayload """ deletes an ordered set. """ deleteOrderedSet( input: deleteOrderedSetMutationInput! ): deleteOrderedSetMutationPayload """ deletes an item to an ordered set. """ deleteOrderedSetItem( input: deleteOrderedSetItemMutationInput! ): deleteOrderedSetItemMutationPayload """ Deletes a page. """ deletePage(input: DeletePageMutationInput!): DeletePageMutationPayload """ Deletes a partner artist. """ deletePartnerArtist( input: DeletePartnerArtistMutationInput! ): DeletePartnerArtistMutationPayload """ Deletes a partner artist document. """ deletePartnerArtistDocument( input: DeletePartnerArtistDocumentMutationInput! ): DeletePartnerArtistDocumentMutationPayload """ Deletes a contact for a partner """ deletePartnerContact( input: DeletePartnerContactMutationInput! ): DeletePartnerContactMutationPayload """ Deletes a partner list. """ deletePartnerList( input: DeletePartnerListMutationInput! ): DeletePartnerListMutationPayload """ Deletes a location for a partner """ deletePartnerLocation( input: DeletePartnerLocationMutationInput! ): DeletePartnerLocationMutationPayload """ Deletes a partner show. """ deletePartnerShow( input: DeletePartnerShowMutationInput! ): DeletePartnerShowMutationPayload """ Deletes a partner show document. """ deletePartnerShowDocument( input: DeletePartnerShowDocumentMutationInput! ): DeletePartnerShowDocumentMutationPayload """ Deletes a partner show event. """ deletePartnerShowEvent( input: DeletePartnerShowEventMutationInput! ): DeletePartnerShowEventMutationPayload """ Deletes a purchase """ deletePurchase(input: deletePurchaseInput!): deletePurchasePayload """ Deletes a shipping preset for a partner. """ deleteShippingPreset( input: DeleteShippingPresetMutationInput! ): DeleteShippingPresetMutationPayload """ Delete a User """ deleteUser(input: DeleteUserInput!): DeleteUserPayload deleteUserAddress(input: DeleteUserAddressInput!): DeleteUserAddressPayload """ delete an admin note for the user """ deleteUserAdminNote( input: deleteUserAdminNoteMutationInput! ): deleteUserAdminNoteMutationPayload """ Deletes a UserInterest on the logged in User's CollectorProfile. """ deleteUserInterest( input: DeleteUserInterestMutationInput! ): DeleteUserInterestMutationPayload """ Delete a UserInterest. """ deleteUserInterestForUser( input: DeleteUserInterestForUserInput! ): DeleteUserInterestForUserPayload """ Deletes multiple UserInterests on the logged in User's CollectorProfile. """ deleteUserInterests( input: DeleteUserInterestsMutationInput! ): DeleteUserInterestsMutationPayload """ Delete a role associated with a user """ deleteUserRole( input: deleteUserRoleMutationInput! ): deleteUserRoleMutationPayload """ Deletes a Verified Representative. """ deleteVerifiedRepresentative( input: DeleteVerifiedRepresentativeMutationInput! ): DeleteVerifiedRepresentativeMutationPayload """ Delete a video """ deleteVideo(input: DeleteVideoMutationInput!): DeleteVideoMutationPayload deleteViewingRoom(input: DeleteViewingRoomInput!): DeleteViewingRoomPayload deliverSecondFactor( input: DeliverSecondFactorInput! ): DeliverSecondFactorPayload """ Trigger duplicate detection for a partner's artworks """ detectArtworkDuplicates( input: DetectArtworkDuplicatesMutationInput! ): DetectArtworkDuplicatesMutationPayload disableSecondFactor( input: DisableSecondFactorInput! ): DisableSecondFactorPayload """ Discard a draft navigation version. Versions that have been published cannot be discarded. """ discardNavigationDraft( input: DiscardNavigationDraftInput! ): DiscardNavigationDraftPayload """ Add (or remove) an artwork to (from) a users dislikes. """ dislikeArtwork(input: DislikeArtworkInput!): DislikeArtworkPayload """ Dismiss an artwork duplicate pair """ dismissArtworkDuplicatePair( input: DismissArtworkDuplicatePairMutationInput! ): DismissArtworkDuplicatePairMutationPayload """ Updates a Task on the logged in User """ dismissTask(input: DismissTaskMutationInput!): DismissTaskMutationPayload """ Distributes a partner list to Artsy, creating a draft show. """ distributePartnerList( input: DistributePartnerListMutationInput! ): DistributePartnerListMutationPayload enableSecondFactor(input: EnableSecondFactorInput!): EnableSecondFactorPayload """ Mark sale as ended. """ endSale(input: EndSaleInput!): EndSalePayload """ Excludes an artist from appearing in Infinite Discovery recommendations. """ excludeArtistFromDiscovery( input: ExcludeArtistFromDiscoveryInput! ): ExcludeArtistFromDiscoveryPayload """ Follow (or unfollow) an artist """ followArtist(input: FollowArtistInput!): FollowArtistPayload """ Follow (or unfollow) an gene """ followGene(input: FollowGeneInput!): FollowGenePayload """ Follow (or unfollow) a profile """ followProfile(input: FollowProfileInput!): FollowProfilePayload """ Follow (or unfollow) a show """ followShow(input: FollowShowInput!): FollowShowPayload """ Links a 3rd party account """ linkAuthentication( input: LinkAuthenticationMutationInput! ): LinkAuthenticationMutationPayload """ Mark all unread notifications as read """ markAllNotificationsAsRead( input: MarkAllNotificationsAsReadInput! ): MarkAllNotificationsAsReadPayload """ Mark an unread notifications as read """ markNotificationAsRead( input: MarkNotificationAsReadInput! ): MarkNotificationAsReadPayload """ Mark notifications as seen """ markNotificationsAsSeen( input: MarkNotificationsAsSeenInput! ): MarkNotificationsAsSeenPayload """ Merge multiple artist records in order to deduplicate artists """ mergeArtists(input: MergeArtistsMutationInput!): MergeArtistsMutationPayload """ Merge an artwork duplicate pair """ mergeArtworkDuplicatePair( input: MergeArtworkDuplicatePairMutationInput! ): MergeArtworkDuplicatePairMutationPayload """ Moves artworks from one partner list to another. """ moveArtworksBetweenPartnerLists( input: MoveArtworksBetweenPartnerListsMutationInput! ): MoveArtworksBetweenPartnerListsMutationPayload """ Create an artwork in my collection """ myCollectionCreateArtwork( input: MyCollectionCreateArtworkInput! ): MyCollectionCreateArtworkPayload """ Deletes an artwork from my collection """ myCollectionDeleteArtwork( input: MyCollectionDeleteArtworkInput! ): MyCollectionDeleteArtworkPayload """ Update an artwork in my collection """ myCollectionUpdateArtwork( input: MyCollectionUpdateArtworkInput! ): MyCollectionUpdateArtworkPayload """ Publish a draft navigation version. Accepts either a groupID (for backward compatibility) or versionID (preferred for admin workflows). """ publishNavigationDraft( input: PublishNavigationDraftInput! ): PublishNavigationDraftPayload """ Publishes (or updates and republishes) a private viewing room for a partner list. """ publishPartnerListPublication( input: PublishPartnerListPublicationMutationInput! ): PublishPartnerListPublicationMutationPayload publishViewingRoom(input: PublishViewingRoomInput!): PublishViewingRoomPayload """ Records a user viewing an artwork """ recordArtworkView(input: RecordArtworkViewInput!): RecordArtworkViewPayload """ Record a guided tour event for the logged-in user and return the refreshed state. """ recordGuidedTourEvent( input: RecordGuidedTourEventInput! ): RecordGuidedTourEventPayload """ Refresh the access token for a connected Instagram account """ refreshInstagramAccount( input: RefreshInstagramAccountInput! ): RefreshInstagramAccountPayload """ Decline a seller's offer on an order """ rejectSellerOffer(input: rejectSellerOfferInput!): rejectSellerOfferPayload """ Removes an artwork from a partner list. """ removeArtworkFromPartnerList( input: RemoveArtworkFromPartnerListMutationInput! ): RemoveArtworkFromPartnerListMutationPayload """ Removes an artwork from a partner show. """ removeArtworkFromPartnerShow( input: RemoveArtworkFromPartnerShowMutationInput! ): RemoveArtworkFromPartnerShowMutationPayload removeArtworkImportImage( input: RemoveArtworkImportImageInput! ): RemoveArtworkImportImagePayload @deprecated( reason: "This mutation is deprecated. Use RemoveArtworkImportImageMatchesV2 instead." ) removeAssetFromConsignmentSubmission( """ Parameters for RemoveAssetFromConsignmentSubmission """ input: RemoveAssetFromConsignmentSubmissionInput! ): RemoveAssetFromConsignmentSubmissionPayload """ Removes an installation shot from a partner show. """ removeInstallShotFromPartnerShow( input: RemoveInstallShotFromPartnerShowMutationInput! ): RemoveInstallShotFromPartnerShowMutationPayload """ Reopen a dismissed artwork duplicate pair """ reopenArtworkDuplicatePair( input: ReopenArtworkDuplicatePairMutationInput! ): ReopenArtworkDuplicatePairMutationPayload """ Reposition artwork images, determining their display order. """ repositionArtworkImages( input: RepositionArtworkImagesMutationInput! ): RepositionArtworkImagesMutationPayload """ Reposition artworks in a partner show, determining their display order. """ repositionArtworksInPartnerShow( input: RepositionArtworksInPartnerShowMutationInput! ): RepositionArtworksInPartnerShowMutationPayload """ Reposition installation shots in a partner show, determining their display order. """ repositionInstallShotsInPartnerShow( input: RepositionInstallShotsInPartnerShowMutationInput! ): RepositionInstallShotsInPartnerShowMutationPayload """ Reposition artworks for a partner artist, determining their display order. """ repositionPartnerArtistArtworks( input: RepositionPartnerArtistArtworksMutationInput! ): RepositionPartnerArtistArtworksMutationPayload """ Repositions all artworks in a partner list. """ repositionPartnerListArtworks( input: RepositionPartnerListArtworksMutationInput! ): RepositionPartnerListArtworksMutationPayload """ Reposition partners locations in various CMS surfaces, settings, Artwork Form, etc. """ repositionPartnerLocations( input: RepositionPartnerLocationsMutationInput! ): RepositionPartnerLocationsMutationPayload """ Reposition artworks in a viewing room, determining their display order. """ repositionViewingRoomArtworks( input: RepositionViewingRoomArtworksMutationInput! ): RepositionViewingRoomArtworksMutationPayload """ Requests Gravity to reprocess the original asset for an artwork image. """ reprocessArtworkImage( input: ReprocessArtworkImageInput! ): ReprocessArtworkImagePayload requestConditionReport( input: RequestConditionReportInput! ): RequestConditionReportPayload """ Attach an gemini asset to a consignment submission """ requestCredentialsForAssetUpload( input: RequestCredentialsForAssetUploadInput! ): RequestCredentialsForAssetUploadPayload """ Request price estimate of an artwork """ requestPriceEstimate( input: RequestPriceEstimateInput! ): RequestPriceEstimatePayload """ Save (or remove) an artwork to (from) a users default collection. """ saveArtwork(input: SaveArtworkInput!): SaveArtworkPayload """ Send a confirmation email """ sendConfirmationEmail( input: SendConfirmationEmailMutationInput! ): SendConfirmationEmailMutationPayload """ Appending a message to a conversation thread """ sendConversationMessage( input: SendConversationMessageMutationInput! ): SendConversationMessageMutationPayload """ Send a feedback message """ sendFeedback(input: SendFeedbackMutationInput!): SendFeedbackMutationPayload """ Send a identity verification email """ sendIdentityVerificationEmail( input: SendIdentityVerificationEmailMutationInput! ): SendIdentityVerificationEmailMutationPayload """ Set fulfillment option on an order """ setOrderFulfillmentOption( input: setOrderFulfillmentOptionInput! ): setOrderFulfillmentOptionPayload """ Set payment method for an order. """ setOrderPayment(input: setOrderPaymentInput!): setOrderPaymentPayload """ Start an identity verification flow for a pending identity verification """ startIdentityVerification( input: startIdentityVerificationMutationInput! ): startIdentityVerificationMutationPayload """ Submit a pending buyer offer """ submitBuyerOffer(input: submitBuyerOfferInput!): submitBuyerOfferPayload """ Create an artwork inquiry request """ submitInquiryRequestMutation( input: SubmitInquiryRequestMutationInput! ): SubmitInquiryRequestMutationPayload submitOfferOrderWithConversation( input: CommerceSubmitOrderWithOfferInput! ): CommerceSubmitOrderWithOfferPayload """ Submit an order """ submitOrder(input: submitOrderInput!): submitOrderPayload """ Syncs catalog artwork (OS) values to the CMS artwork, applying mapping rules for medium, availability, and price. """ syncCatalogToArtwork( input: SyncCatalogToArtworkMutationInput! ): SyncCatalogToArtworkMutationPayload """ Transfers My Collection artworks from one user to another. """ transferMyCollection( input: TransferMyCollectionInput! ): TransferMyCollectionPayload """ Triggers a campaign send. """ triggerCampaign(input: TriggerCampaignInput!): TriggerCampaignPayload """ Unlinks a 3rd party account """ unlinkAuthentication( input: UnlinkAuthenticationMutationInput! ): UnlinkAuthenticationMutationPayload """ Unpublishes a partner list's private viewing room. Does not delete the publication. """ unpublishPartnerListPublication( input: UnpublishPartnerListPublicationMutationInput! ): UnpublishPartnerListPublicationMutationPayload unpublishViewingRoom( input: UnpublishViewingRoomInput! ): UnpublishViewingRoomPayload """ Unset fulfillment option on an order """ unsetOrderFulfillmentOption( input: unsetOrderFulfillmentOptionInput! ): unsetOrderFulfillmentOptionPayload """ Unset payment method and credit card wallet type on an order """ unsetOrderPaymentMethod( input: unsetOrderPaymentMethodInput! ): unsetOrderPaymentMethodPayload """ Create an alert """ updateAlert(input: updateAlertInput!): updateAlertPayload updateAppSecondFactor( input: UpdateAppSecondFactorInput! ): UpdateAppSecondFactorPayload """ Update the artist """ updateArtist(input: UpdateArtistMutationInput!): UpdateArtistMutationPayload """ Updates an artwork. """ updateArtwork( input: UpdateArtworkMutationInput! ): UpdateArtworkMutationPayload updateArtworkImport( input: UpdateArtworkImportInput! ): UpdateArtworkImportPayload updateArtworkImportRow( input: UpdateArtworkImportRowInput! ): UpdateArtworkImportRowPayload updateArtworkImportRowImages( input: UpdateArtworkImportRowImagesInput! ): UpdateArtworkImportRowImagesPayload """ Update a partner's brand kit """ updateBrandKit(input: UpdateBrandKitInput!): UpdateBrandKitPayload """ Upload or replace the logo for a brand kit """ updateBrandKitLogo(input: UpdateBrandKitLogoInput!): UpdateBrandKitLogoPayload """ Update a buyer offer """ updateBuyerOffer(input: updateBuyerOfferInput!): updateBuyerOfferPayload """ Updates the flags on a partner. """ updateCMSLastAccessTimestamp( input: UpdateCMSLastAccessTimestampMutationInput! ): UpdateCMSLastAccessTimestampMutationPayload """ Updates Artist Career Highlight. """ updateCareerHighlight( input: UpdateCareerHighlightInput! ): UpdateCareerHighlightPayload """ Creates or updates a catalog artwork for a given artwork. Requires partner or partner support permissions. """ updateCatalogArtwork( input: UpdateCatalogArtworkInput! ): UpdateCatalogArtworkPayload """ Updates a catalog edition set. Requires partner or partner support permissions. """ updateCatalogEditionSet( input: UpdateCatalogEditionSetInput! ): UpdateCatalogEditionSetPayload """ Update a collection """ updateCollection(input: updateCollectionInput!): updateCollectionPayload """ Update a collector profile. """ updateCollectorProfile( input: UpdateCollectorProfileInput! ): UpdateCollectorProfilePayload """ Updating a collector profile (loyalty applicant status). """ updateCollectorProfileWithID( input: UpdateCollectorProfileWithIDInput! ): UpdateCollectorProfileWithIDPayload updateConsignmentSubmission( """ Parameters for UpdateSubmissionMutation """ input: UpdateSubmissionMutationInput! ): UpdateSubmissionMutationPayload """ Update a conversation. """ updateConversation( input: UpdateConversationMutationInput! ): UpdateConversationMutationPayload """ Updates an existing conversation message template """ updateConversationMessageTemplate( input: UpdateConversationMessageTemplateInput! ): UpdateConversationMessageTemplatePayload """ updates a feature. """ updateFeature( input: UpdateFeatureMutationInput! ): UpdateFeatureMutationPayload """ updates a featured link. """ updateFeaturedLink( input: UpdateFeaturedLinkMutationInput! ): UpdateFeaturedLinkMutationPayload """ updates a hero unit. """ updateHeroUnit( input: UpdateHeroUnitMutationInput! ): UpdateHeroUnitMutationPayload """ Updates an installation shot for a partner show. """ updateInstallShotForPartnerShow( input: UpdateInstallShotForPartnerShowMutationInput! ): UpdateInstallShotForPartnerShowMutationPayload """ Updates the user's collections in batch. """ updateMeCollectionsMutation( input: updateMeCollectionsMutationInput! ): updateMeCollectionsMutationPayload """ Update a message. """ updateMessage( input: UpdateMessageMutationInput! ): UpdateMessageMutationPayload """ Updates the logged in user's password """ updateMyPassword( input: UpdateMyPasswordMutationInput! ): UpdateMyPasswordMutationPayload """ Update the current logged in user. """ updateMyUserProfile(input: UpdateMyProfileInput!): UpdateMyProfilePayload updateNavigationItem( input: UpdateNavigationItemInput! ): UpdateNavigationItemPayload """ Update notification preferences. """ updateNotificationPreferences( input: updateNotificationPreferencesMutationInput! ): updateNotificationPreferencesMutationPayload """ Update an order. NOTE: For payment-related updates, use setOrderPayment mutation instead. """ updateOrder(input: updateOrderInput!): updateOrderPayload """ Update an order's shipping address """ updateOrderShippingAddress( input: updateOrderShippingAddressInput! ): updateOrderShippingAddressPayload """ updates an ordered set. """ updateOrderedSet( input: UpdateOrderedSetMutationInput! ): UpdateOrderedSetMutationPayload """ Updates a page. """ updatePage(input: UpdatePageMutationInput!): UpdatePageMutationPayload """ Updates general information on a partner. """ updatePartner( input: UpdatePartnerMutationInput! ): UpdatePartnerMutationPayload """ Updates a partner artist. """ updatePartnerArtist( input: UpdatePartnerArtistMutationInput! ): UpdatePartnerArtistMutationPayload """ Updates a partner artist document. """ updatePartnerArtistDocument( input: UpdatePartnerArtistDocumentMutationInput! ): UpdatePartnerArtistDocumentMutationPayload """ Updates an existing contact for a partner """ updatePartnerContact( input: UpdatePartnerContactInput! ): UpdatePartnerContactPayload """ Updates multiple flags on a partner simultaneously. """ updatePartnerFlags( input: UpdatePartnerFlagsMutationInput! ): UpdatePartnerFlagsMutationPayload """ Updates an existing partner list. """ updatePartnerList( input: UpdatePartnerListMutationInput! ): UpdatePartnerListMutationPayload """ Updates the position of an artwork in a partner list. """ updatePartnerListArtworkPosition( input: UpdatePartnerListArtworkPositionMutationInput! ): UpdatePartnerListArtworkPositionMutationPayload """ Updates a new location for a partner """ updatePartnerLocation( input: UpdatePartnerLocationInput! ): UpdatePartnerLocationPayload """ Updates the icon or cover image for a partner's profile page """ updatePartnerProfileImage( input: UpdatePartnerProfileImageInput! ): UpdatePartnerProfileImagePayload """ Updates a partner show. """ updatePartnerShow( input: UpdatePartnerShowMutationInput! ): UpdatePartnerShowMutationPayload """ Updates a partner show document. """ updatePartnerShowDocument( input: UpdatePartnerShowDocumentMutationInput! ): UpdatePartnerShowDocumentMutationPayload """ Updates a partner show event. """ updatePartnerShowEvent( input: UpdatePartnerShowEventMutationInput! ): UpdatePartnerShowEventMutationPayload """ Updates a profile. """ updateProfile( input: UpdateProfileMutationInput! ): UpdateProfileMutationPayload """ Update a purchase """ updatePurchase(input: updatePurchaseInput!): updatePurchasePayload """ Update a quiz artwork interacted_with flag """ updateQuiz(input: updateQuizMutationInput!): updateQuizMutationPayload """ Updates a saleAgreement. """ updateSaleAgreement( input: UpdateSaleAgreementMutationInput! ): UpdateSaleAgreementMutationPayload """ Updates a shipping preset for a partner. """ updateShippingPreset( input: UpdateShippingPresetMutationInput! ): UpdateShippingPresetMutationPayload updateSmsSecondFactor( input: UpdateSmsSecondFactorInput! ): UpdateSmsSecondFactorPayload """ Update the user """ updateUser(input: UpdateUserMutationInput!): UpdateUserMutationPayload updateUserAddress(input: UpdateUserAddressInput!): UpdateUserAddressPayload updateUserDefaultAddress( input: UpdateUserDefaultAddressInput! ): UpdateUserDefaultAddressPayload """ Updates a UserInterest on the logged in User's CollectorProfile. """ updateUserInterest( input: UpdateUserInterestMutationInput! ): UpdateUserInterestMutationPayload """ Update user interests for multiple artists """ updateUserInterests( input: UpdateUserInterestsMutationInput! ): UpdateUserInterestsMutationPayload """ Update the user sale profile """ updateUserSaleProfile( input: UpdateUserSaleProfileMutationInput! ): UpdateUserSaleProfileMutationPayload """ Update a video """ updateVideo(input: UpdateVideoInput!): UpdateVideoPayload updateViewingRoom(input: UpdateViewingRoomInput!): UpdateViewingRoomPayload updateViewingRoomArtworks( input: UpdateViewingRoomArtworksInput! ): UpdateViewingRoomArtworksPayload updateViewingRoomSubsections( input: UpdateViewingRoomSubsectionsInput! ): UpdateViewingRoomSubsectionsPayload } type MyBid { sale: Sale saleArtworks: [SaleArtwork] } type MyBids { active: [MyBid] closed: [MyBid] } input MyCollectionArtistInput { """ The artist's display name. """ displayName: String } type MyCollectionArtworkMutationDeleteSuccess { success: Boolean } type MyCollectionArtworkMutationFailure { mutationError: GravityMutationError } type MyCollectionArtworkMutationSuccess { artwork: Artwork artworkEdge: MyCollectionEdge } union MyCollectionArtworkMutationType = MyCollectionArtworkMutationDeleteSuccess | MyCollectionArtworkMutationFailure | MyCollectionArtworkMutationSuccess enum MyCollectionArtworkSorts { CREATED_AT_ASC CREATED_AT_DESC POSITION_ASC POSITION_DESC } """ A connection to a list of items. """ type MyCollectionConnection { """ Insights for all collected artists """ artistInsights( """ The type of insight. """ kind: ArtistInsightKind ): [ArtistInsight!]! artistInsightsCount: ArtistInsightsCount artistsCount: Int! artworksCount: Int! """ A connection of artists in the users' collection """ collectedArtistsConnection( after: String before: String first: Int """ Include artists that have been created by the user. """ includePersonalArtists: Boolean = false last: Int page: Int size: Int sort: ArtistSorts ): ArtistConnection @deprecated(reason: "Please use `me.userInterestsConnection` instead") default: Boolean! description: String! """ A list of edges. """ edges: [MyCollectionEdge] includesPurchasedArtworks: Boolean! name: String! pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! private: Boolean! totalCount: Int } input MyCollectionCreateArtworkInput { additionalInformation: String artistIds: [String] artists: [MyCollectionArtistInput] artworkLocation: String attributionClass: ArtworkAttributionClassType category: String clientMutationId: String coaByAuthenticatingBody: Boolean coaByGallery: Boolean """ The given location of the user as structured data """ collectorLocation: EditableLocation condition: ArtworkConditionEnumType conditionDescription: String confidentialNotes: String costCurrencyCode: String costMajor: Int costMinor: Int date: String depth: String editionNumber: String editionSize: String externalImageUrls: [String] framedDepth: String framedHeight: String framedMetric: String framedWidth: String hasCertificateOfAuthenticity: Boolean height: String importSource: ArtworkImportSource isEdition: Boolean isFramed: Boolean medium: String metric: String """ The price paid for the MyCollection artwork in cents for any given currency """ pricePaidCents: Long pricePaidCurrency: String provenance: String signatureDetails: String signatureTypes: [ArtworkSignatureTypeEnum] submissionId: String title: String! width: String } type MyCollectionCreateArtworkPayload { artworkOrError: MyCollectionArtworkMutationType clientMutationId: String } input MyCollectionDeleteArtworkInput { artworkId: String! clientMutationId: String } type MyCollectionDeleteArtworkPayload { artworkOrError: MyCollectionArtworkMutationType clientMutationId: String } """ An edge in a connection. """ type MyCollectionEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: Artwork } type MyCollectionInfo { """ Insights for all collected artists """ artistInsights( """ The type of insight. """ kind: ArtistInsightKind ): [ArtistInsight!]! artistInsightsCount: ArtistInsightsCount artistsCount: Int! artworksCount: Int! """ A connection of artists in the users' collection """ collectedArtistsConnection( after: String before: String first: Int """ Include artists that have been created by the user. """ includePersonalArtists: Boolean = false last: Int page: Int size: Int sort: ArtistSorts ): ArtistConnection @deprecated(reason: "Please use `me.userInterestsConnection` instead") default: Boolean! description: String! includesPurchasedArtworks: Boolean! name: String! private: Boolean! } input MyCollectionUpdateArtworkInput { additionalInformation: String artistIds: [String] artworkId: String! artworkLocation: String attributionClass: ArtworkAttributionClassType category: String clientMutationId: String coaByAuthenticatingBody: Boolean coaByGallery: Boolean """ The given location of the user as structured data """ collectorLocation: EditableLocation condition: ArtworkConditionEnumType conditionDescription: String confidentialNotes: String costCurrencyCode: String costMajor: Int costMinor: Int date: String depth: String editionNumber: String editionSize: String externalImageUrls: [String] framedDepth: String framedHeight: String framedMetric: String framedWidth: String hasCertificateOfAuthenticity: Boolean height: String isEdition: Boolean isFramed: Boolean medium: String metric: String pricePaidCents: Long pricePaidCurrency: String provenance: String signatureDetails: String signatureTypes: [ArtworkSignatureTypeEnum] submissionId: String title: String width: String } type MyCollectionUpdateArtworkPayload { artworkOrError: MyCollectionArtworkMutationType clientMutationId: String } type MyLocation { address: String address2: String city: String coordinates: LatLng! country: String countryCode: String display: String displayCountry: String """ A globally unique ID. """ id: ID! """ A type-specific ID. """ internalID: ID! postalCode: String state: String summary: String timezone: String } type NavigationGroup { createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String! draftVersion: NavigationVersion hasDraftVersion: Boolean! hasLiveVersion: Boolean! """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! liveVersion: NavigationVersion name: String! """ A slug ID. """ slug: ID! updatedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String! } type NavigationItem { children: [NavigationItem!]! """ A relative URL that starts with / """ href: String """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! position: Int! title: String! } type NavigationPill { """ Link URL """ href: String! """ Icon file name """ icon: String """ The context module for analytics """ ownerType: String! """ Link title """ title: String! } type NavigationVersion { createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String! """ A list of featured links for the visual component """ featuredLinksSet: [FeaturedLink] """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! """ An ordered list of nested navigation items (e.g., By Price, By Seller, etc.) """ items: [NavigationItem!]! orderedSetID: String publishedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String updatedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String! } enum NavigationVersionState { DRAFT LIVE } input Near { lat: Float! lng: Float! maxDistance: Float } """ An object with a Globally Unique ID """ interface Node { """ A globally unique ID. """ id: ID! } type Notification implements Node { artworksConnection( after: String before: String first: Int last: Int ): ArtworkConnection createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String @deprecated(reason: "Please use `publishedAt` instead") headline: String! """ A globally unique ID. """ id: ID! """ A type-specific ID. """ internalID: ID! isUnread: Boolean! item: NotificationItem message: String! notificationType: NotificationTypesEnum! objectsCount: Int! previewImages(size: Int): [Image!]! publishedAt( """ pass `RELATIVE` to display the human-friendly date (e.g. "Today", "Yesterday", "5 days ago") """ format: String ): String! targetHref: String! title: String! } """ A connection to a list of items. """ type NotificationConnection { counts: NotificationCounts """ A list of edges. """ edges: [NotificationEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } type NotificationCounts { total( """ Returns a `String` when format is specified. e.g.`'0,0.0000''` """ format: String label: String ): FormattedNumber unread( """ Returns a `String` when format is specified. e.g.`'0,0.0000''` """ format: String label: String ): FormattedNumber unseen( """ Returns a `String` when format is specified. e.g.`'0,0.0000''` """ format: String label: String ): FormattedNumber } """ An edge in a connection. """ type NotificationEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: Notification } union NotificationItem = AlertNotificationItem | ArticleFeaturedArtistNotificationItem | ArtworkPublishedNotificationItem | CollectorProfileUpdatePromptNotificationItem | PartnerOfferCreatedNotificationItem | ShowOpenedNotificationItem | ViewingRoomPublishedNotificationItem type NotificationPreference { """ email | push """ channel: String! id: String! name: String! status: SubGroupStatus! } input NotificationPreferenceInput { """ email | push """ channel: String name: String! status: SubGroupInputStatus! } enum NotificationTypesEnum { ARTICLE_FEATURED_ARTIST ARTWORK_ALERT ARTWORK_PUBLISHED COLLECTOR_PROFILE_UPDATE_PROMPT PARTNER_OFFER_CREATED PARTNER_SHOW_OPENED VIEWING_ROOM_PUBLISHED } """ An offer on an order """ type Offer { """ The amount for this offer """ amount: Money """ The buyer total for this offer, if a complete total is available """ buyerTotal: Money createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ Who the offer is from """ fromParticipant: FromParticipantEnum! """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! """ Optional note for the offer """ note: String """ The order this offer belongs to """ order: Order """ Pricing breakdown lines """ pricingBreakdownLines: [PricingBreakdownLineUnion]! """ The shipping total for this offer """ shippingTotal: Money """ The tax total for this offer """ taxTotal: Money } type OfferExchangeError { code: String! message: String! } type OfferMutationError { mutationError: OfferExchangeError! } union OfferMutationResponse = OfferMutationError | OfferMutationSuccess type OfferMutationSuccess { offer: Offer! } """ Consignment Offer Response """ type OfferResponse { comments: String """ Uniq ID for this offer response """ id: ID! intendedState: IntendedState! offer: ConsignmentOffer! phoneNumber: String rejectionReason: String } type OfferableActivity { """ Details of the collectors with eligible offerable activities. """ collectors: [OfferableActivityCollector] """ Count of collectors with eligible offerable activities. """ totalCount: Int } """ A collector with eligible offerable activity on the artwork, and how they engaged with it. """ type OfferableActivityCollector { confirmedBuyerAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String firstNameLastInitial: String icon: Image """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! isIdentityVerified: Boolean location: MyLocation """ The way this collector engaged with the artwork (e.g. saved it and/or abandoned an order). """ sources: [PartnerOfferSourceEnum] } type OpeningHoursArray { schedules: [FormattedDaySchedules] } type OpeningHoursText { text: String } union OpeningHoursUnion = OpeningHoursArray | OpeningHoursText """ Buyer's representation of an order """ type Order { """ List of available payment methods for the order """ availablePaymentMethods: [OrderPaymentMethodEnum!]! """ List of alpha-2 country codes to which the order can be shipped """ availableShippingCountries: [String!]! """ List of available Stripe payment method types for the order """ availableStripePaymentMethodTypes: [OrderStripePaymentMethodTypeEnum!]! """ Check if the bank account has sufficient balance for this order """ bankAccountBalanceCheck: BankAccountBalanceCheck """ Phone number of the buyer """ buyerPhoneNumber: String @deprecated(reason: "Use `order.fulfillmentDetails.phoneNumber`") """ Calculated state of the order that defines buyer facing state/actions """ buyerState: OrderBuyerStateEnum buyerStateExpiresAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ The total amount the buyer is expected to pay """ buyerTotal: Money """ Order code """ code: String! commissionFee: Money createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ Express Checkout wallet type """ creditCardWalletType: OrderCreditCardWalletTypeEnum """ Currency code """ currencyCode: String! currencySymbol(disambiguate: Boolean = true): String! """ Details about the shipment of an order """ deliveryInfo: DeliveryInfo """ Display texts for the order based on its seller_state and order shipping states """ displaySellerTexts: DisplaySellerTexts! """ Display texts for the order based on its buyer_state and order shipping/payment states """ displayTexts: DisplayTexts! """ Buyer fulfillment details for order """ fulfillmentDetails: FulfillmentDetails fulfillmentOptions: [FulfillmentOption!]! """ A globally unique ID. """ id: ID! """ Impulse conversation Id for the order """ impulseConversationId: String """ A type-specific ID likely used as a database ID. """ internalID: ID! """ The total amount of the line items """ itemsTotal: Money """ The last offer for this order """ lastSubmittedOffer: Offer lineItems: [LineItem]! mode: OrderModeEnum! """ Payment method used for the order """ paymentMethod: OrderPaymentMethodEnum """ The payment method details that was used for the order """ paymentMethodDetails: PaymentMethodUnion """ The pending offer for this order """ pendingOffer: Offer """ Pricing breakdown lines """ pricingBreakdownLines: [PricingBreakdownLineUnion]! """ The selected fulfillment option for the order """ selectedFulfillmentOption: FulfillmentOption """ The seller of the order """ seller: SellerType sellerState: OrderSellerStateEnum sellerStateExpiresAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String sellerTotal: Money """ Display short version of order's artwork location """ shippingOrigin: String """ Whether the order ships domestically or internationally """ shippingRadius: String """ The total amount for shipping """ shippingTotal: Money """ Source of the order """ source: OrderSourceEnum! """ Stripe confirmation token for the order """ stripeConfirmationToken: String """ List of submitted offers for this order """ submittedOffers: [Offer!]! """ The total amount for tax """ taxTotal: Money """ The total list price of items (accounting for limited partner offer if applicable) """ totalListPrice: Money """ The transaction fee for the order """ transactionFee: Money } type OrderActionData { clientSecret: String! } enum OrderBuyerStateEnum { """ Order has been approved """ APPROVED """ Order has been canceled """ CANCELED """ Order is completed """ COMPLETED """ Order is an offer in negotiation awaiting response from the seller """ COUNTEROFFER_SENT """ Order was declined by the buyer """ DECLINED_BY_BUYER """ Order was declined by the seller """ DECLINED_BY_SELLER """ Order is incomplete (pending or abandoned) """ INCOMPLETE """ Order is an offer awaiting response from the buyer """ OFFER_RECEIVED """ Payment has failed """ PAYMENT_FAILED """ Processing offline payment """ PROCESSING_OFFLINE_PAYMENT """ Processing payment """ PROCESSING_PAYMENT """ Order has been refunded """ REFUNDED """ Order has been shipped """ SHIPPED """ Order has been submitted """ SUBMITTED """ Order status is unknown """ UNKNOWN } enum OrderCreditCardWalletTypeEnum { APPLE_PAY GOOGLE_PAY } enum OrderModeEnum { BUY OFFER } type OrderMutationActionRequired { actionData: OrderActionData! } type OrderMutationError { mutationError: ExchangeError! } union OrderMutationResponse = OrderMutationActionRequired | OrderMutationError | OrderMutationSuccess type OrderMutationSuccess { order: Order! } union OrderParty = Partner | User enum OrderPaymentMethodEnum { CREDIT_CARD SEPA_DEBIT US_BANK_ACCOUNT WIRE_TRANSFER } enum OrderSellerStateEnum { """ Approved - action is for seller to print Artsy label, pack and ship """ APPROVED_ARTSY_SELF_SHIP """ Approved - action is for seller to wait for Artsy pickup """ APPROVED_ARTSY_SHIP """ Approved - action is to coordinate pickup """ APPROVED_PICKUP """ Approved - action is for seller to pack and ship """ APPROVED_SELLER_SHIP """ Order has been canceled """ CANCELED """ Order is completed """ COMPLETED """ Order is incomplete (not actionable by seller) """ INCOMPLETE """ Order is in transit """ IN_TRANSIT """ Offer has been received from buyer """ OFFER_RECEIVED """ Offer has been sent to buyer """ OFFER_SENT """ Order has been received """ ORDER_RECEIVED """ Payment has failed """ PAYMENT_FAILED """ Processing payment """ PROCESSING_PAYMENT """ Order has been refunded """ REFUNDED """ Order status is unknown """ UNKNOWN } enum OrderSourceEnum { ARTWORK_PAGE INQUIRY PARTNER_OFFER PRIVATE_SALE } enum OrderStripePaymentMethodTypeEnum { card sepa_debit us_bank_account } type OrderedSet { cached: Int createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String createdBy: User description(format: Format): String """ A globally unique ID. """ id: ID! """ A type-specific ID. """ internalID: ID! internalName: String itemType: String items: [OrderedSetItem] """ Returns a connection of the items. Only Artwork supported right now. """ itemsConnection( after: String before: String first: Int last: Int ): ArtworkConnection @deprecated(reason: "Utilize `orderedItemsConnection` for union type") key: String layout: OrderedSetLayouts! name: String orderedItemsConnection( after: String before: String first: Int last: Int ): OrderedSetItemConnection! ownerType: String published: Boolean! } """ A connection to a list of items. """ type OrderedSetConnection { """ A list of edges. """ edges: [OrderedSetEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type OrderedSetEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: OrderedSet } union OrderedSetItem = Artist | Artwork | FeaturedLink | Gene | Profile | Sale | Show | Video """ A connection to a list of items. """ type OrderedSetItemConnection { """ A list of edges. """ edges: [OrderedSetItemEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type OrderedSetItemEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: OrderedSetItem } enum OrderedSetLayouts { DEFAULT FULL } enum OrderedSetSorts { CREATED_AT_ASC CREATED_AT_DESC ID_ASC ID_DESC INTERNAL_NAME_ASC INTERNAL_NAME_DESC ITEM_TYPE_ASC ITEM_TYPE_DESC KEY_ASC KEY_DESC NAME_ASC NAME_DESC OWNER_ID_ASC OWNER_ID_DESC OWNER_TYPE_ASC OWNER_TYPE_DESC } type Page { content(format: Format): String """ A globally unique ID. """ id: ID! """ A type-specific ID. """ internalID: ID! name: String! published: Boolean! } """ A connection to a list of items. """ type PageConnection { """ A list of edges. """ edges: [PageEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } type PageCursor { """ first cursor on the page """ cursor: String! """ is this the current page? """ isCurrent: Boolean! """ page number out of totalPages """ page: Int! } type PageCursors { around: [PageCursor!]! """ optional, may be included in field around """ first: PageCursor """ optional, may be included in field around """ last: PageCursor previous: PageCursor } """ An edge in a connection. """ type PageEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: Page } """ Information about pagination in a connection. """ type PageInfo { """ When paginating forwards, the cursor to continue. """ endCursor: String """ When paginating forwards, are there more items? """ hasNextPage: Boolean! """ When paginating backwards, are there more items? """ hasPreviousPage: Boolean! """ When paginating backwards, the cursor to continue. """ startCursor: String } """ An artwork with partial data. useful for rendering an error state """ type PartialArtwork { """ Returns the associated Fair/Sale/Show """ context: ArtworkContext contextGrids( """ Whether to include the `RelatedArtworksGrid` module. Defaults to `true`; preferred behavior is to opt out with `false`. """ includeRelatedArtworks: Boolean! = true ): [ArtworkContextGrid] """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! layer(id: String): ArtworkLayer """ A slug ID. """ slug: ID! } type Partner implements Node { alertsConnection( after: String artistID: String before: String first: Int id: String last: Int page: Int size: Int ): PartnerAlertsConnection """ A connection of all artists from a Partner. """ allArtistsConnection( displayOnPartnerProfile: Boolean hasNotRepresentedArtistWithPublishedArtworks: Boolean hasPublishedArtworks: Boolean """ Include additional fields on artists, requires authentication """ includeAllFields: Boolean representedBy: Boolean ): ArtistPartnerConnection analytics: AnalyticsPartnerStats """ Time frame selected for analytics page """ analyticsPageTimeFrame: AnalyticsQueryPeriodEnum """ A connection of articles related to a partner. """ articlesConnection( after: String before: String first: Int """ Get only articles with 'standard', 'feature', 'series' or 'video' layouts. """ inEditorialFeed: Boolean last: Int page: Int sort: ArticleSorts ): ArticleConnection """ A connection of artists at a partner. """ artistsConnection( after: String artistIDs: [String] before: String displayOnPartnerProfile: Boolean first: Int hasPublishedArtworks: Boolean """ Include additional fields on artists, requires authentication """ includeAllFields: Boolean last: Int representedBy: Boolean """ Include artists that are represented or have published artworks, should not be used in conjunction with hasPublishedArtworks or representedBy. """ representedByOrHasPublishedArtworks: Boolean sort: ArtistSorts ): ArtistPartnerConnection artistsSearchConnection( after: String before: String first: Int last: Int page: Int = 1 query: String! size: Int = 10 ): ArtistConnection artistsWithAlertCountsConnection( after: String before: String first: Int last: Int page: Int size: Int sort: ArtistAlertsSort ): ArtistsWithAlertCountsConnection """ Artwork duplicate pairs for this partner """ artworkDuplicatePairsConnection( after: String before: String """ Filter by detection version """ detectionVersion: String first: Int last: Int """ Filter by whether the pair can be merged (neither artwork is both published and listed on Artsy) """ mergeable: Boolean """ Filter by pair status """ status: ArtworkDuplicatePairStatus ): ArtworkDuplicatePairConnection """ A connection of artwork imports from a Partner. """ artworkImportsConnection( after: String before: String first: Int """ Include inactive imports in results. Defaults to false. """ includeInactive: Boolean last: Int """ Filter by import source: 'bulk_import' or 'multi_add'. Returns all sources if omitted. """ source: String ): ArtworkImportConnection """ A connection of artwork templates for this partner """ artworkTemplatesConnection( after: String before: String first: Int last: Int page: Int sort: ArtworkTemplatesSort ): ArtworkTemplateConnection """ A connection of artworks from a Partner. """ artworksConnection( after: String """ Return only artworks by this artist. """ artistID: String """ Return only artwork(s) included in this list of IDs. """ artworkIDs: [String] before: String exclude: [String] first: Int forSale: Boolean """ Include artworks not listed on Artsy (artsy_listing: false). """ includeNonArtsyListed: Boolean """ If true return both published and unpublished artworks, requires auth """ includeUnpublished: Boolean last: Int page: Int """ Only return artworks that are partner-offerable """ partnerOfferable: Boolean """ Only allowed for authorized admin/partner requests. When false fetch :all properties on an artwork, when true or not present fetch artwork :short properties """ shallow: Boolean sort: ArtworkSorts """ Return artworks according to visibility levels. Defaults to ['listed']. """ visibilityLevels: [Visibility] ): ArtworkConnection artworksSearchConnection( after: String before: String first: Int last: Int page: Int query: String! size: Int ): ArtworkConnection """ The partner's brand kit — colors, fonts, and logo used for branded surfaces """ brandKit: BrandKit """ Preview counts of artworks affected by a bulk metadata update. """ bulkUpdateMetadataPreview( """ IDs of artworks to include in the preview. """ artworkIds: [String!] """ ID of a partner list to filter artworks. """ partnerListId: String """ When true, excludes live artworks from the editable count. """ updateCatalog: Boolean ): BulkUpdateMetadataPreview cached: Int categories: [PartnerCategory] """ A list of the partners unique city locations """ cities(size: Int = 25): [String] claimed: Boolean collectingInstitution: String """ A Singular Contact belonging to the Partner """ contact( """ The slug or ID of the Contact """ contactId: String! ): Contact """ A connection of contacts from a Partner. """ contactsConnection( after: String before: String contactType: contactType first: Int last: Int ): ContactConnection """ Static example templates to help users get started, excluding those already claimed. """ conversationMessageTemplateExamples: [ConversationMessageTemplateExample!]! """ A connection of conversation message templates for this partner """ conversationMessageTemplatesConnection( after: String before: String first: Int """ Filter by deleted status. Defaults to false (active templates only) """ isDeleted: Boolean = false last: Int page: Int ): ConversationMessageTemplateConnection counts: PartnerCounts defaultProfileID: String displayArtistsSection: Boolean displayFullPartnerPage: Boolean displayWorksSection: Boolean distinguishRepresentedArtists: Boolean """ Whether auto-sync of variable fields to marketplaces is enabled. Defaults to true. """ distributionSyncEnabled: Boolean! """ Return partner documents if current user has CMS access. """ documentsConnection( after: String artistID: String before: String """ Filter documents by ID. """ documentIDs: [String] first: Int last: Int showID: String ): PartnerDocumentConnection email: String """ Suggested filters for associated artworks """ featuredKeywords: [String!]! featuredShow: Show """ Artworks Elastic Search results """ filterArtworksConnection( acquireable: Boolean additionalGeneIDs: [String] after: String aggregationPartnerCities: [String] aggregations: [ArtworkAggregation] artistID: String artistIDs: [String] artistNationalities: [String] artistSeriesID: String artistSeriesIDs: [String] artsyListing: Boolean """ When provided, will only return artworks with these IDs. """ artworkIDs: [String] atAuction: Boolean attributionClass: [String] availability: String before: String categories: [String] """ Filter by certificate of authenticity. Accepted values: gallery, authenticating_body, no. """ certificateOfAuthenticity: String color: String colors: [String] """ Filter by artwork completeness tiers. Accepts multiple values. """ completenessTier: [String] """ When true, will only return artworks carrying the Curators' Pick collector signal. Cannot be combined with `marketingCollectionID`. """ curatorsPick: Boolean dimensionRange: String """ When true, will skip pushing sold works to the back of the list. Useful in a CMS context. """ disableNotForSaleSorting: Boolean excludeArtworkIDs: [String] extraAggregationGeneIDs: [String] first: Int forSale: Boolean """ When true, will only return framed artworks. """ framed: Boolean geneID: String geneIDs: [String] height: String """ Hybrid only: how many candidates the semantic arm retrieves. Higher = wider semantic net. """ hybridNeuralK: Int """ Hybrid only: results each arm contributes to the blend; must be ≥ from + page size. Caps pagination depth. """ hybridPaginationDepth: Int """ Hybrid only: [lexical, neural] balance when blending scores, e.g. [0.5,0.5] equal, [0.3,0.7] favors semantic. """ hybridWeights: [Float!] importSources: [String] includeAllJSON: Boolean includeArtworksByFollowedArtists: Boolean includeMediumFilterInAggregation: Boolean """ Include artworks not listed on Artsy (artsy_listing: false). """ includeNonArtsyListed: Boolean includeUnpublished: Boolean """ When true, will only return artworks carrying the Increased Interest collector signal. """ increasedInterest: Boolean input: FilterArtworksInput inquireableOnly: Boolean keyword: String """ When true, will only return exact keyword match """ keywordMatchExact: Boolean """ When true and a `keyword` search returns no results, retries once with typo tolerance. Ignored with `keywordMatchExact`. """ keywordTypoTolerance: Boolean last: Int locationCities: [String] locationId: String majorPeriods: [String] """ When true, will only return `marketable` works (not nude or provocative). """ marketable: Boolean marketingCollectionID: String materialsTerms: [String] """ A string from the list of allocations, or * to denote all mediums """ medium: String offerable: Boolean page: Int partnerCities: [String] partnerID: ID partnerIDs: [String] partnerListID: String period: String periods: [String] priceRange: String """ When false, will only return unpublished artworks for authorized users. """ published: Boolean saleID: ID showID: String """ When true, will only return signed artworks. """ signed: Boolean size: Int """ Filter results by Artwork sizes """ sizes: [ArtworkSizes] sold: Boolean sort: String tagID: String """ Search strategy. 'hybrid' blends semantic (meaning-based) results into the keyword search. Requires a keyword; team-only. """ variant: String viewingRoomID: ID visibilityLevel: String width: String ): FilterArtworksConnection fullProfileEligible: Boolean @deprecated(reason: "Prefer displayFullPartnerPage") hasFairPartnership: Boolean """ If the partner has more than 500 follows """ hasVisibleFollowsCount: Boolean! """ The url for a partner. May be `null` if partner is not eligible for page. """ href: String """ A globally unique ID. """ id: ID! initials(length: Int = 3): String """ Inquiry Request details """ inquiryRequest( """ The inquiry id """ inquiryId: String! ): PartnerInquiryRequest """ The partner's inquiry response rate percentage (0-100) over the last 90 days """ inquiryResponseRate: Float """ The partner's average inquiry response time in minutes over the last 90 days """ inquiryResponseTime: Int """ A type-specific ID likely used as a database ID. """ internalID: ID! isDefaultProfilePublic: Boolean """ If the partner supports inquiries """ isInquireable: Boolean! isLinkable: Boolean isPreQualify: Boolean """ Indicates the partner is a trusted seller on Artsy """ isVerifiedSeller: Boolean """ A Singular Location belonging to the Partner """ location( """ The slug or ID of the Contact """ locationId: String! ): Location """ This field is deprecated and is being used in Eigen release predating the 6.0 release """ locations(size: Int = 25): [Location] @deprecated( reason: "Prefer to use `locationsConnection`. [Will be removed in v2]" ) """ A connection of locations from a Partner. """ locationsConnection( addressType: addressType after: String before: String first: Int last: Int page: Int """ Return all partner-authenticated locations. """ private: Boolean size: Int """ Search term for locations. """ term: String ): LocationConnection merchantAccount: PartnerMerchantAccount meta: PartnerMeta name: String """ A single order for this partner. """ order( """ The ID of the order """ id: String! ): Order """ A connection of orders for the Partner. """ ordersConnection( after: String """ Filter by artwork ID in line items """ artworkID: String before: String first: Int last: Int page: Int size: Int ): PartnerOrdersConnection """ A connection of search criteria hits from a Partner. """ partnerAlertHitsConnection( after: String before: String first: Int last: Int page: Int size: Int ): PartnerAlertHitsConnection """ A single partner list by its ID. """ partnerList( """ The ID of the partner list. """ id: String! ): PartnerList """ A connection of lists from a Partner. """ partnerListsConnection( after: String before: String first: Int last: Int """ Filter by list type. """ listType: PartnerListTypeEnum ): PartnerListConnection partnerPageEligible: Boolean partnerType: String profile: Profile profileArtistsLayout: String profileBannerDisplay: String """ A connection of shipping presets for this partner. """ shippingPresetsConnection( after: String before: String first: Int last: Int """ Filter by price currency. Returns presets with matching currency AND presets with no currency (which apply to all currencies). """ priceCurrency: String ): ShippingPresetConnection showPromoted: Boolean """ A connection of shows from a Partner. """ showsConnection( after: String """ If present only return shows including the artist """ artistID: String """ True for only shows that are part of a fair, false for only shows not part of a fair, blank for all shows """ atAFair: Boolean before: String """ Only used when status is CLOSING_SOON or UPCOMING. Number of days used to filter upcoming and closing soon shows """ dayThreshold: Int first: Int """ If True returns only displayable items """ isDisplayable: Boolean last: Int page: Int sort: ShowSorts """ Filter shows by chronological event status """ status: EventStatus = CURRENT ): ShowConnection showsSearchConnection( after: String before: String first: Int last: Int page: Int = 1 query: String! size: Int = 10 status: [String] ): ShowConnection """ A slug ID. """ slug: ID! type: String """ Returns VAT number or a fallback message based on the partner's VAT status. """ vatInformation: String vatNumber: String vatStatus: String viewingRoomsConnection( after: String before: String first: Int last: Int statuses: [ViewingRoomStatusEnum!] ): ViewingRoomsConnection """ The gallery partner's web address """ website: String } type PartnerAgreement { acceptedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ ID of user who accepted this agreement """ acceptedBy: String """ The associated agreement """ agreement: Agreement! """ Unique ID for this partner agreement """ id: ID! } union PartnerAgreementOrErrorsUnion = Errors | PartnerAgreement """ A connection to a list of items. """ type PartnerAlertHitsConnection { """ A list of edges. """ edges: [PartnerAlertHitsEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type PartnerAlertHitsEdge { artwork: Artwork createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ A cursor for use in pagination """ cursor: String! """ A globally unique ID. """ id: ID! """ A type-specific ID. """ internalID: ID! """ The item at the end of the edge """ node: Alert partnerSearchCriteriaID: String userIDs: [String] } """ A connection to a list of items. """ type PartnerAlertsConnection { """ A list of edges. """ edges: [PartnerAlertsEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type PartnerAlertsEdge { artistID: String collectorProfilesConnection( after: String before: String first: Int last: Int page: Int size: Int ): PartnerCollectorProfilesConnection """ A cursor for use in pagination """ cursor: String! """ A globally unique ID. """ id: ID! """ A type-specific ID. """ internalID: ID! matchedAt: String """ The item at the end of the edge """ node: Alert partnerID: String score: String searchCriteriaID: String userIDs: [String] } type PartnerArtist { artist: Artist artworksConnection( after: String before: String first: Int last: Int sort: PartnerArtistArtworksSort ): ArtworkConnection biography: String biographyBlurb(format: Format): PartnerArtistBlurb counts: PartnerArtistCounts """ Retrieve all documents for this partner artist """ documentsConnection( after: String before: String first: Int last: Int ): PartnerDocumentConnection """ Artworks Elastic Search results """ filterArtworksConnection( acquireable: Boolean additionalGeneIDs: [String] after: String aggregationPartnerCities: [String] aggregations: [ArtworkAggregation] artistID: String artistIDs: [String] artistNationalities: [String] artistSeriesID: String artistSeriesIDs: [String] artsyListing: Boolean """ When provided, will only return artworks with these IDs. """ artworkIDs: [String] atAuction: Boolean attributionClass: [String] availability: String before: String categories: [String] """ Filter by certificate of authenticity. Accepted values: gallery, authenticating_body, no. """ certificateOfAuthenticity: String color: String colors: [String] """ Filter by artwork completeness tiers. Accepts multiple values. """ completenessTier: [String] """ When true, will only return artworks carrying the Curators' Pick collector signal. Cannot be combined with `marketingCollectionID`. """ curatorsPick: Boolean dimensionRange: String """ When true, will skip pushing sold works to the back of the list. Useful in a CMS context. """ disableNotForSaleSorting: Boolean excludeArtworkIDs: [String] extraAggregationGeneIDs: [String] first: Int forSale: Boolean """ When true, will only return framed artworks. """ framed: Boolean geneID: String geneIDs: [String] height: String """ Hybrid only: how many candidates the semantic arm retrieves. Higher = wider semantic net. """ hybridNeuralK: Int """ Hybrid only: results each arm contributes to the blend; must be ≥ from + page size. Caps pagination depth. """ hybridPaginationDepth: Int """ Hybrid only: [lexical, neural] balance when blending scores, e.g. [0.5,0.5] equal, [0.3,0.7] favors semantic. """ hybridWeights: [Float!] importSources: [String] includeAllJSON: Boolean includeArtworksByFollowedArtists: Boolean includeMediumFilterInAggregation: Boolean """ Include artworks not listed on Artsy (artsy_listing: false). """ includeNonArtsyListed: Boolean includeUnpublished: Boolean """ When true, will only return artworks carrying the Increased Interest collector signal. """ increasedInterest: Boolean input: FilterArtworksInput inquireableOnly: Boolean keyword: String """ When true, will only return exact keyword match """ keywordMatchExact: Boolean """ When true and a `keyword` search returns no results, retries once with typo tolerance. Ignored with `keywordMatchExact`. """ keywordTypoTolerance: Boolean last: Int locationCities: [String] locationId: String majorPeriods: [String] """ When true, will only return `marketable` works (not nude or provocative). """ marketable: Boolean marketingCollectionID: String materialsTerms: [String] """ A string from the list of allocations, or * to denote all mediums """ medium: String offerable: Boolean page: Int partnerCities: [String] partnerID: ID partnerIDs: [String] partnerListID: String period: String periods: [String] priceRange: String """ When false, will only return unpublished artworks for authorized users. """ published: Boolean saleID: ID showID: String """ When true, will only return signed artworks. """ signed: Boolean size: Int """ Filter results by Artwork sizes """ sizes: [ArtworkSizes] sold: Boolean sort: String tagID: String """ Search strategy. 'hybrid' blends semantic (meaning-based) results into the keyword search. Requires a keyword; team-only. """ variant: String viewingRoomID: ID visibilityLevel: String width: String ): FilterArtworksConnection """ A globally unique ID. """ id: ID! image: Image imageUrl: String """ A type-specific ID. """ internalID: ID! isDisplayOnPartnerProfile: Boolean isHiddenInPresentationMode: Boolean isUseDefaultBiography: Boolean partner: Partner representedBy: Boolean """ A list of shows for this artist """ showsConnection( after: String before: String first: Int last: Int ): ShowConnection sortableID: String } enum PartnerArtistArtworksSort { POSITION_ASC POSITION_DESC } type PartnerArtistBlurb { credit: String text: String } """ A connection to a list of items. """ type PartnerArtistConnection { """ A list of edges. """ edges: [PartnerArtistEdge] """ Information to aid in pagination. """ pageInfo: PageInfo! } type PartnerArtistCounts { artworks( """ Returns a `String` when format is specified. e.g.`'0,0.0000''` """ format: String label: String ): FormattedNumber documents: Int forSaleArtworks( """ Returns a `String` when format is specified. e.g.`'0,0.0000''` """ format: String label: String ): FormattedNumber managedArtworks( """ Returns a `String` when format is specified. e.g.`'0,0.0000''` """ format: String label: String ): FormattedNumber shows: Int unlistedArtworks( """ Returns a `String` when format is specified. e.g.`'0,0.0000''` """ format: String label: String ): FormattedNumber } """ A connection to a list of items. """ type PartnerArtistDocumentConnection { """ A list of edges. """ edges: [PartnerArtistDocumentEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type PartnerArtistDocumentEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: PartnerDocument } """ An edge in a connection. """ type PartnerArtistEdge { artist: Artist artworksConnection( after: String before: String first: Int last: Int sort: PartnerArtistArtworksSort ): ArtworkConnection biography: String biographyBlurb(format: Format): PartnerArtistBlurb counts: PartnerArtistCounts """ A cursor for use in pagination """ cursor: String! """ Retrieve all documents for this partner artist """ documentsConnection( after: String before: String first: Int last: Int ): PartnerDocumentConnection """ Artworks Elastic Search results """ filterArtworksConnection( acquireable: Boolean additionalGeneIDs: [String] after: String aggregationPartnerCities: [String] aggregations: [ArtworkAggregation] artistID: String artistIDs: [String] artistNationalities: [String] artistSeriesID: String artistSeriesIDs: [String] artsyListing: Boolean """ When provided, will only return artworks with these IDs. """ artworkIDs: [String] atAuction: Boolean attributionClass: [String] availability: String before: String categories: [String] """ Filter by certificate of authenticity. Accepted values: gallery, authenticating_body, no. """ certificateOfAuthenticity: String color: String colors: [String] """ Filter by artwork completeness tiers. Accepts multiple values. """ completenessTier: [String] """ When true, will only return artworks carrying the Curators' Pick collector signal. Cannot be combined with `marketingCollectionID`. """ curatorsPick: Boolean dimensionRange: String """ When true, will skip pushing sold works to the back of the list. Useful in a CMS context. """ disableNotForSaleSorting: Boolean excludeArtworkIDs: [String] extraAggregationGeneIDs: [String] first: Int forSale: Boolean """ When true, will only return framed artworks. """ framed: Boolean geneID: String geneIDs: [String] height: String """ Hybrid only: how many candidates the semantic arm retrieves. Higher = wider semantic net. """ hybridNeuralK: Int """ Hybrid only: results each arm contributes to the blend; must be ≥ from + page size. Caps pagination depth. """ hybridPaginationDepth: Int """ Hybrid only: [lexical, neural] balance when blending scores, e.g. [0.5,0.5] equal, [0.3,0.7] favors semantic. """ hybridWeights: [Float!] importSources: [String] includeAllJSON: Boolean includeArtworksByFollowedArtists: Boolean includeMediumFilterInAggregation: Boolean """ Include artworks not listed on Artsy (artsy_listing: false). """ includeNonArtsyListed: Boolean includeUnpublished: Boolean """ When true, will only return artworks carrying the Increased Interest collector signal. """ increasedInterest: Boolean input: FilterArtworksInput inquireableOnly: Boolean keyword: String """ When true, will only return exact keyword match """ keywordMatchExact: Boolean """ When true and a `keyword` search returns no results, retries once with typo tolerance. Ignored with `keywordMatchExact`. """ keywordTypoTolerance: Boolean last: Int locationCities: [String] locationId: String majorPeriods: [String] """ When true, will only return `marketable` works (not nude or provocative). """ marketable: Boolean marketingCollectionID: String materialsTerms: [String] """ A string from the list of allocations, or * to denote all mediums """ medium: String offerable: Boolean page: Int partnerCities: [String] partnerID: ID partnerIDs: [String] partnerListID: String period: String periods: [String] priceRange: String """ When false, will only return unpublished artworks for authorized users. """ published: Boolean saleID: ID showID: String """ When true, will only return signed artworks. """ signed: Boolean size: Int """ Filter results by Artwork sizes """ sizes: [ArtworkSizes] sold: Boolean sort: String tagID: String """ Search strategy. 'hybrid' blends semantic (meaning-based) results into the keyword search. Requires a keyword; team-only. """ variant: String viewingRoomID: ID visibilityLevel: String width: String ): FilterArtworksConnection """ A globally unique ID. """ id: ID! image: Image imageUrl: String """ A type-specific ID. """ internalID: ID! isDisplayOnPartnerProfile: Boolean isHiddenInPresentationMode: Boolean isUseDefaultBiography: Boolean """ The item at the end of the edge """ node: Partner partner: Partner representedBy: Boolean """ A list of shows for this artist """ showsConnection( after: String before: String first: Int last: Int ): ShowConnection sortableID: String } type PartnerArtworkGrid implements ArtworkContextGrid { artworksConnection( after: String before: String first: Int last: Int ): ArtworkConnection ctaHref: String ctaTitle: String title: String } type PartnerCategory { cached: Int categoryType: PartnerCategoryType """ A globally unique ID. """ id: ID! internal: Boolean """ A type-specific ID likely used as a database ID. """ internalID: ID! name: String partners( defaultProfilePublic: Boolean eligibleForCarousel: Boolean """ Indicates an active subscription """ eligibleForListing: Boolean """ Indicates tier 1/2 for gallery, 1 for institution """ eligibleForPrimaryBucket: Boolean """ Indicates tier 3/4 for gallery, 2 for institution """ eligibleForSecondaryBucket: Boolean """ Exclude partners the user follows (only effective when `include_partners_with_followed_artists` is set to true). """ excludeFollowedPartners: Boolean hasFullProfile: Boolean ids: [String] """ If true, will only return partners that are located near the user's location based on the IP address. """ includePartnersNearIpBasedLocation: Boolean = false """ If true, will only return partners that list artists that the user follows """ includePartnersWithFollowedArtists: Boolean """ Max distance to use when geo-locating partners, defaults to 75km. """ maxDistance: Int """ Coordinates to find partners closest to """ near: String page: Int "\n Only return partners of the specified partner categories.\n Accepts list of slugs.\n " partnerCategories: [String] size: Int sort: PartnersSortType """ term used for searching Partners """ term: String type: [PartnerClassification] ): [Partner] """ A slug ID. """ slug: ID! } enum PartnerCategoryType { GALLERY INSTITUTION } enum PartnerClassification { AUCTION BRAND DEMO GALLERY INSTITUTION INSTITUTIONAL_SELLER PRIVATE_COLLECTOR PRIVATE_DEALER } """ A connection to a list of items. """ type PartnerCollectorProfilesConnection { """ A list of edges. """ edges: [PartnerCollectorProfilesEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type PartnerCollectorProfilesEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: CollectorProfileType } """ A connection to a list of items. """ type PartnerConnection { """ A list of edges. """ edges: [PartnerEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } type PartnerCounts { artistDocuments( """ Returns a `String` when format is specified. e.g.`'0,0.0000''` """ format: String label: String ): FormattedNumber artists( """ Returns a `String` when format is specified. e.g.`'0,0.0000''` """ format: String label: String ): FormattedNumber artworks( """ Returns a `String` when format is specified. e.g.`'0,0.0000''` """ format: String label: String ): FormattedNumber contacts( """ Returns a `String` when format is specified. e.g.`'0,0.0000''` """ format: String label: String ): FormattedNumber currentDisplayableShows( """ Returns a `String` when format is specified. e.g.`'0,0.0000''` """ format: String label: String ): FormattedNumber displayableShows( """ Returns a `String` when format is specified. e.g.`'0,0.0000''` """ format: String label: String ): FormattedNumber eligibleArtworks( """ Returns a `String` when format is specified. e.g.`'0,0.0000''` """ format: String label: String ): FormattedNumber locations( """ Returns a `String` when format is specified. e.g.`'0,0.0000''` """ format: String label: String ): FormattedNumber partnerArtists( """ Returns a `String` when format is specified. e.g.`'0,0.0000''` """ format: String label: String ): FormattedNumber partnerShowDocuments( """ Returns a `String` when format is specified. e.g.`'0,0.0000''` """ format: String label: String ): FormattedNumber publishedForSaleArtworks( """ Returns a `String` when format is specified. e.g.`'0,0.0000''` """ format: String label: String ): FormattedNumber publishedNotForSaleArtworks( """ Returns a `String` when format is specified. e.g.`'0,0.0000''` """ format: String label: String ): FormattedNumber shows( """ Returns a `String` when format is specified. e.g.`'0,0.0000''` """ format: String label: String ): FormattedNumber } type PartnerDocument { filesize: Int! """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! publicURL: String! publicUrl: String! @deprecated(reason: "Prefer `publicURL`") size: Int! @deprecated(reason: "Prefer `filesize`") """ A slug ID. """ slug: ID! title: String! } """ A connection to a list of items. """ type PartnerDocumentConnection { """ A list of edges. """ edges: [PartnerDocumentEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type PartnerDocumentEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: PartnerDocument } """ An edge in a connection. """ type PartnerEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: Partner } type PartnerEngagement { counts: PartnerEngagementCounts } """ Counts relating to a collector's interest in the gallery program """ type PartnerEngagementCounts { alerts: Int! artworkInquiries( """ When present, returns the inquiry count for the artist (across partners). """ artistID: String ): Int! followedArtists: Int! savedArtworks: Int! } """ Partner genome data for an artwork """ type PartnerGenome { """ A connection of genes with their values """ genesConnection( after: String before: String first: Int last: Int ): PartnerGenomeGenesConnectionConnection } """ A gene from the partner genome with its associated value """ type PartnerGenomeGene { """ The value/score for this gene (typically 0-100) """ geneValue: Int! """ The name of the gene category """ name: String! } """ A connection to a list of items. """ type PartnerGenomeGenesConnectionConnection { """ A list of edges. """ edges: [PartnerGenomeGenesConnectionEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! """ Total number of genes in the genome """ totalCount: Int } """ An edge in a connection. """ type PartnerGenomeGenesConnectionEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: PartnerGenomeGene } type PartnerInquiryRequest { collectorProfile: InquirerCollectorProfile """ Returns the first message of an inquiry with the addition of any inquiry questions submitted by the user, formatted and if present. """ formattedFirstMessage: String """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! questions: [InquiryQuestion] shippingLocation: Location } type PartnerList { artworksConnection( after: String before: String first: Int last: Int ): PartnerListArtworkConnection artworksCount: Int! createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String distributedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String endAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String fair: Fair """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! listType: PartnerListTypeEnum! name: String! partnerShowID: String """ Whether this list's private viewing room publication is gated by a passcode. Null if no publication exists yet. """ passcodeProtected: Boolean """ The private viewing room publication for this list, if one exists (only applies to private_viewing_room lists). Not resolvable through partnerListsConnection. """ publication: PartnerListPublication """ Whether this list's private viewing room publication is live. Null if no publication exists yet. """ published: Boolean startAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String updatedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String } """ A connection to a list of items. """ type PartnerListArtworkConnection { """ A list of edges. """ edges: [PartnerListArtworkEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type PartnerListArtworkEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: Artwork position: Int! } """ A connection to a list of items. """ type PartnerListConnection { """ A list of edges. """ edges: [PartnerListEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type PartnerListEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: PartnerList } type PartnerListPublication { applyBrand: Boolean """ Per-field visibility toggles for artworks in the room. Any key the gallery hasn't set is null. """ artworkFieldVisibility: ArtworkFieldVisibility """ Number of artworks currently snapshotted into this publication. """ artworksCount: Int! createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String description: String """ Optional heading shown on the published room. """ heading: String """ Public-facing path for this private viewing room. """ href: String """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! lastPublishedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String partnerListID: String """ Plain-text passcode gating this room, if one is set. """ passcode: String passcodeProtected: Boolean published: Boolean publishedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ Whether the gallery name is shown on the public page. """ showGalleryName: Boolean slug: String updatedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String } enum PartnerListTypeEnum { FAIR OTHER PRIVATE_VIEWING_ROOM SHOW } type PartnerMerchantAccount { externalId: String! } type PartnerMeta { description: String image: String title: String } type PartnerOffer implements Node { artworkId: String createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String discountPercentage: Int endAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ A globally unique ID. """ id: ID! """ A type-specific ID. """ internalID: ID! isActive: Boolean isAvailable: Boolean note: String partnerId: String priceListed: Money priceListedMessage: String @deprecated(reason: "This field is deprecated. Use 'priceListed' instead.") priceWithDiscount: Money priceWithDiscountMessage: String @deprecated( reason: "This field is deprecated. Use 'priceWithDiscount' instead." ) source: PartnerOfferSourceEnum userIds: [String] } """ A connection to a list of items. """ type PartnerOfferConnection { """ A list of edges. """ edges: [PartnerOfferEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } type PartnerOfferCreatedNotificationItem { artworksConnection( after: String before: String first: Int last: Int ): ArtworkConnection """ Deprecated. Use `partnerOffer.isAvailable` instead. """ available: Boolean """ Deprecated. Use `partnerOffer.endAt` instead. """ expiresAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String partnerOffer: PartnerOffer } """ An edge in a connection. """ type PartnerOfferEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: PartnerOffer } enum PartnerOfferSorts { CREATED_AT_ASC CREATED_AT_DESC END_AT_ASC END_AT_DESC } enum PartnerOfferSourceEnum { ABANDONED_ORDER CONVERSATION SAVE } type PartnerOfferToCollector implements Node { artworkId: String createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String endAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ A globally unique ID. """ id: ID! """ A type-specific ID. """ internalID: ID! isActive: Boolean isAvailable: Boolean """ Whether the collector already has an order created from this partner offer in a purchased buyer state (submitted, approved, or completed). """ isPurchased: Boolean! note: String partnerId: String priceWithDiscount: Money source: PartnerOfferSourceEnum } """ A connection to a list of items. """ type PartnerOfferToCollectorConnection { """ A list of edges. """ edges: [PartnerOfferToCollectorEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type PartnerOfferToCollectorEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: PartnerOfferToCollector } enum PartnerOfferToCollectorSorts { CREATED_AT_ASC CREATED_AT_DESC END_AT_ASC END_AT_DESC } enum PartnerOfferTypeEnum { BULK PERSONALIZED } """ A connection to a list of items. """ type PartnerOrdersConnection { """ A list of edges. """ edges: [PartnerOrdersEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type PartnerOrdersEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: Order } """ A connection to a list of items. """ type PartnerShowDocumentConnection { """ A list of edges. """ edges: [PartnerShowDocumentEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type PartnerShowDocumentEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: PartnerDocument } enum PartnerShowPartnerType { GALLERY MUSEUM } union PartnerTypes = ExternalPartner | Partner enum PartnersAggregation { CATEGORY LOCATION TOTAL } """ The results for one of the requested aggregations """ type PartnersAggregationResults { counts: [AggregationCount] slice: PartnersAggregation } enum PartnersSortType { CREATED_AT_ASC CREATED_AT_DESC DISTANCE PUBLISHED_AT_DESC RANDOM_SCORE_DESC RELATIVE_SIZE_ASC RELATIVE_SIZE_DESC SORTABLE_ID_ASC SORTABLE_ID_DESC } union PaymentMethodPreview = Card | SEPADebit | USBankAccount union PaymentMethodUnion = BankAccount | CreditCard | WireTransfer enum PhoneNumberErrors { INVALID_COUNTRY_CODE INVALID_NUMBER TOO_LONG TOO_SHORT } enum PhoneNumberFormats { E164 INTERNATIONAL NATIONAL RFC3966 } type PhoneNumberType { """ Numeric phone number country code """ countryCode: String """ A formatted phone number if the number could be parsed """ display(format: PhoneNumberFormats): String error: PhoneNumberErrors isValid: Boolean originalNumber: String """ Two-letter region code (ISO 3166-1 alpha-2) """ regionCode: String } type PreviewSavedSearch { """ A suggestion for a name that describes a set of saved search criteria in a conventional format """ displayName: String! """ URL for a user to view the artwork grid with applied filters matching saved search criteria attributes """ href: String """ Human-friendly labels that are added by Metaphysics to the upstream SearchCriteria type coming from Gravity """ labels: [SearchCriteriaLabel]! """ Suggested filters for the user to use based on their search criteria """ suggestedFilters( """ The context from which the alert originates """ source: AlertSource ): [SearchCriteriaLabel!]! } input PreviewSavedSearchAttributes { acquireable: Boolean additionalGeneIDs: [String] artistIDs: [String] artistSeriesIDs: [String] atAuction: Boolean attributionClass: [String] colors: [String] height: String inquireableOnly: Boolean locationCities: [String] majorPeriods: [String] materialsTerms: [String] offerable: Boolean partnerIDs: [String] priceRange: String """ Filter results by Artwork sizes """ sizes: [ArtworkSizes] width: String } """ The connection type for MarketPriceInsights. """ type PriceInsightConnection { """ A list of edges. """ edges: [PriceInsightEdge] """ A list of nodes. """ nodes: [MarketPriceInsights] pageCursors: PageCursors """ Information to aid in pagination. """ pageInfo: AnalyticsPageInfo! totalCount: Int totalPages: Int } """ An edge in a connection. """ type PriceInsightEdge { """ A cursor for use in pagination. """ cursor: String! """ The item at the end of the edge. """ node: MarketPriceInsights } enum PriceInsightSort { """ sort by annual_lots_sold in ascending order """ ANNUAL_LOTS_SOLD_ASC """ sort by annual_lots_sold in descending order """ ANNUAL_LOTS_SOLD_DESC """ sort by annual_value_sold_cents in ascending order """ ANNUAL_VALUE_SOLD_CENTS_ASC """ sort by annual_value_sold_cents in descending order """ ANNUAL_VALUE_SOLD_CENTS_DESC """ sort by artist_id in ascending order """ ARTIST_ID_ASC """ sort by artist_id in descending order """ ARTIST_ID_DESC """ sort by artist_name in ascending order """ ARTIST_NAME_ASC """ sort by artist_name in descending order """ ARTIST_NAME_DESC """ sort by artsy_q_inventory in ascending order """ ARTSY_Q_INVENTORY_ASC """ sort by artsy_q_inventory in descending order """ ARTSY_Q_INVENTORY_DESC """ sort by created_at in ascending order """ CREATED_AT_ASC """ sort by created_at in descending order """ CREATED_AT_DESC """ sort by demand_rank in ascending order """ DEMAND_RANK_ASC """ sort by demand_rank in descending order """ DEMAND_RANK_DESC """ sort by demand_trend in ascending order """ DEMAND_TREND_ASC """ sort by demand_trend in descending order """ DEMAND_TREND_DESC """ sort by high_range_cents in ascending order """ HIGH_RANGE_CENTS_ASC """ sort by high_range_cents in descending order """ HIGH_RANGE_CENTS_DESC """ sort by id in ascending order """ ID_ASC """ sort by id in descending order """ ID_DESC """ sort by large_high_range_cents in ascending order """ LARGE_HIGH_RANGE_CENTS_ASC """ sort by large_high_range_cents in descending order """ LARGE_HIGH_RANGE_CENTS_DESC """ sort by large_low_range_cents in ascending order """ LARGE_LOW_RANGE_CENTS_ASC """ sort by large_low_range_cents in descending order """ LARGE_LOW_RANGE_CENTS_DESC """ sort by large_mid_range_cents in ascending order """ LARGE_MID_RANGE_CENTS_ASC """ sort by large_mid_range_cents in descending order """ LARGE_MID_RANGE_CENTS_DESC """ sort by last_auction_result_date in ascending order """ LAST_AUCTION_RESULT_DATE_ASC """ sort by last_auction_result_date in descending order """ LAST_AUCTION_RESULT_DATE_DESC """ sort by liquidity_rank in ascending order """ LIQUIDITY_RANK_ASC """ sort by liquidity_rank in descending order """ LIQUIDITY_RANK_DESC """ sort by lots_sold_last_12_months in ascending order """ LOTS_SOLD_LAST_12_MONTHS_ASC """ sort by lots_sold_last_12_months in descending order """ LOTS_SOLD_LAST_12_MONTHS_DESC """ sort by lots_sold_last_24_months in ascending order """ LOTS_SOLD_LAST_24_MONTHS_ASC """ sort by lots_sold_last_24_months in descending order """ LOTS_SOLD_LAST_24_MONTHS_DESC """ sort by lots_sold_last_36_months in ascending order """ LOTS_SOLD_LAST_36_MONTHS_ASC """ sort by lots_sold_last_36_months in descending order """ LOTS_SOLD_LAST_36_MONTHS_DESC """ sort by lots_sold_last_48_months in ascending order """ LOTS_SOLD_LAST_48_MONTHS_ASC """ sort by lots_sold_last_48_months in descending order """ LOTS_SOLD_LAST_48_MONTHS_DESC """ sort by lots_sold_last_60_months in ascending order """ LOTS_SOLD_LAST_60_MONTHS_ASC """ sort by lots_sold_last_60_months in descending order """ LOTS_SOLD_LAST_60_MONTHS_DESC """ sort by lots_sold_last_72_months in ascending order """ LOTS_SOLD_LAST_72_MONTHS_ASC """ sort by lots_sold_last_72_months in descending order """ LOTS_SOLD_LAST_72_MONTHS_DESC """ sort by lots_sold_last_84_months in ascending order """ LOTS_SOLD_LAST_84_MONTHS_ASC """ sort by lots_sold_last_84_months in descending order """ LOTS_SOLD_LAST_84_MONTHS_DESC """ sort by lots_sold_last_96_months in ascending order """ LOTS_SOLD_LAST_96_MONTHS_ASC """ sort by lots_sold_last_96_months in descending order """ LOTS_SOLD_LAST_96_MONTHS_DESC """ sort by low_range_cents in ascending order """ LOW_RANGE_CENTS_ASC """ sort by low_range_cents in descending order """ LOW_RANGE_CENTS_DESC """ sort by median_sale_price_last_36_months in ascending order """ MEDIAN_SALE_PRICE_LAST_36_MONTHS_ASC """ sort by median_sale_price_last_36_months in descending order """ MEDIAN_SALE_PRICE_LAST_36_MONTHS_DESC """ sort by median_sale_price_last_96_months in ascending order """ MEDIAN_SALE_PRICE_LAST_96_MONTHS_ASC """ sort by median_sale_price_last_96_months in descending order """ MEDIAN_SALE_PRICE_LAST_96_MONTHS_DESC """ sort by median_sale_to_estimate_ratio in ascending order """ MEDIAN_SALE_TO_ESTIMATE_RATIO_ASC """ sort by median_sale_to_estimate_ratio in descending order """ MEDIAN_SALE_TO_ESTIMATE_RATIO_DESC """ sort by medium in ascending order """ MEDIUM_ASC """ sort by medium in descending order """ MEDIUM_DESC """ sort by medium_high_range_cents in ascending order """ MEDIUM_HIGH_RANGE_CENTS_ASC """ sort by medium_high_range_cents in descending order """ MEDIUM_HIGH_RANGE_CENTS_DESC """ sort by medium_low_range_cents in ascending order """ MEDIUM_LOW_RANGE_CENTS_ASC """ sort by medium_low_range_cents in descending order """ MEDIUM_LOW_RANGE_CENTS_DESC """ sort by medium_mid_range_cents in ascending order """ MEDIUM_MID_RANGE_CENTS_ASC """ sort by medium_mid_range_cents in descending order """ MEDIUM_MID_RANGE_CENTS_DESC """ sort by mid_range_cents in ascending order """ MID_RANGE_CENTS_ASC """ sort by mid_range_cents in descending order """ MID_RANGE_CENTS_DESC """ sort by sell_through_rate in ascending order """ SELL_THROUGH_RATE_ASC """ sort by sell_through_rate in descending order """ SELL_THROUGH_RATE_DESC """ sort by small_high_range_cents in ascending order """ SMALL_HIGH_RANGE_CENTS_ASC """ sort by small_high_range_cents in descending order """ SMALL_HIGH_RANGE_CENTS_DESC """ sort by small_low_range_cents in ascending order """ SMALL_LOW_RANGE_CENTS_ASC """ sort by small_low_range_cents in descending order """ SMALL_LOW_RANGE_CENTS_DESC """ sort by small_mid_range_cents in ascending order """ SMALL_MID_RANGE_CENTS_ASC """ sort by small_mid_range_cents in descending order """ SMALL_MID_RANGE_CENTS_DESC """ sort by updated_at in ascending order """ UPDATED_AT_ASC """ sort by updated_at in descending order """ UPDATED_AT_DESC } type PriceRange { display: String maxPrice: Money minPrice: Money } """ Pricing breakdown line """ union PricingBreakdownLineUnion = ShippingLine | SubtotalLine | TaxLine | TotalLine type PrivateViewingRoom { applyBrand: Boolean artworks: [PrivateViewingRoomArtwork!] brandKit: BrandKit description: String """ The gallery's name, omitted when the gallery has chosen to hide it (show_gallery_name). """ galleryName: String heading: String """ Whether this room requires a passcode to view. """ passcodeRequired: Boolean! } type PrivateViewingRoomArtwork { artistName: String artworkID: String artworkTitle: String availability: String coaByAuthenticatingBody: Boolean coaByGallery: Boolean dimensions: String """ One entry per edition set on this artwork, each independently visibility-gated. Null/empty when the artwork has no edition sets. """ editionInfo: [PrivateViewingRoomArtworkEditionInfo!] imageURL: String """ The artwork's public location (city/state/country/postal code), pinned as of the room's last publish. """ location: String medium: String """ The pinned price as a formatted Money object. Null when there's no pinned price or currency (resolveMinorAndCurrencyFieldsToMoney returns null rather than throwing). """ price: Money priceCents: Int priceCurrency: String year: String } type PrivateViewingRoomArtworkEditionInfo { availability: String editionSetID: String! editionSize: String inventoryCount: Int """ The pinned price for this edition set as a formatted Money object. Null when there's no pinned price or currency (resolveMinorAndCurrencyFieldsToMoney returns null rather than throwing). """ price: Money priceCents: Int priceCurrency: String } type PrivateViewingRoomContents { applyBrand: Boolean artworks: [PrivateViewingRoomArtwork!] brandKit: BrandKit description: String """ The gallery's name, omitted when the gallery has chosen to hide it (show_gallery_name). """ galleryName: String heading: String } type Profile { bio: String cached: Int counts: ProfileCounts displayArtistsSection: Boolean @deprecated(reason: "Prefer displayArtistsSection in Partner type") fullBio: String href: String icon: Image """ A globally unique ID. """ id: ID! image: Image initials(length: Int = 3): String """ A type-specific ID likely used as a database ID. """ internalID: ID! isFollowed: Boolean isPubliclyVisible: Boolean isPublished: Boolean location: String name: String owner: ProfileOwnerType! profileArtistsLayout: String @deprecated(reason: "Prefer profileArtistsLayout in Partner type") """ A slug ID. """ slug: ID! } """ A connection to a list of items. """ type ProfileConnection { """ A list of edges. """ edges: [ProfileEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } type ProfileCounts { follows( """ Returns a `String` when format is specified. e.g.`'0,0.0000''` """ format: String label: String ): FormattedNumber } """ An edge in a connection. """ type ProfileEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: Profile } union ProfileOwnerType = Fair | FairOrganizer | Partner type PublishNavigationDraftFailure { mutationError: GravityMutationError! } input PublishNavigationDraftInput { clientMutationId: String """ The ID of the navigation group. Supported for backward compatibility, but versionID is preferred for admin UI workflows. """ groupID: String """ The ID of the specific navigation version to publish. Preferred approach for admin UIs. """ versionID: String } type PublishNavigationDraftPayload { clientMutationId: String navigationVersionOrError: PublishNavigationDraftResponseOrError! } union PublishNavigationDraftResponseOrError = PublishNavigationDraftFailure | PublishNavigationDraftSuccess type PublishNavigationDraftSuccess { navigationVersion: NavigationVersion! } type PublishPartnerListPublicationFailure { mutationError: GravityMutationError } input PublishPartnerListPublicationMutationInput { """ Whether to apply the gallery's brand kit to the room. """ applyBrand: Boolean """ Per-field visibility toggles for artworks in the room. """ artworkFieldVisibility: ArtworkFieldVisibilityInput clientMutationId: String """ Plain-text description shown on the published room. """ description: String """ Optional heading shown on the published room. """ heading: String """ The ID of the partner list to publish as a viewing room. """ partnerListID: String! """ Passcode to gate the room. Pass an empty string to clear a previously set passcode. """ passcode: String """ Whether to show the gallery name on the public page. """ showGalleryName: Boolean } type PublishPartnerListPublicationMutationPayload { clientMutationId: String """ On success: the published partner list publication. On error: the error that occurred. """ partnerListPublicationOrError: PublishPartnerListPublicationResponseOrError } union PublishPartnerListPublicationResponseOrError = PublishPartnerListPublicationFailure | PublishPartnerListPublicationSuccess type PublishPartnerListPublicationSuccess { partnerListPublication: PartnerListPublication } type PublishViewingRoomFailure { mutationError: GravityMutationError } input PublishViewingRoomInput { clientMutationId: String viewingRoomID: ID! } type PublishViewingRoomPayload { clientMutationId: String viewingRoom: ViewingRoom @deprecated( reason: "Use viewingRoomOrError instead for proper error handling" ) """ On success: the published viewing room. On error: the error that occurred. """ viewingRoomOrError: PublishViewingRoomResponseOrError } union PublishViewingRoomResponseOrError = PublishViewingRoomFailure | PublishViewingRoomSuccess type PublishViewingRoomSuccess { viewingRoom: ViewingRoom! } type Purchase implements Node { artsyCommission: Float artwork: Artwork createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ Person who found the sale """ discoverAdmin: User email: String fair: Fair """ A globally unique ID. """ id: ID! """ A type-specific ID. """ internalID: ID! note: String ownerID: String ownerType: String sale: Sale """ Person who facilitated the sale """ saleAdmin: User saleDate( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String salePrice: Float source: String user: User } """ A connection to a list of items. """ type PurchasesConnection { """ A list of edges. """ edges: [PurchasesEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type PurchasesEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: Purchase } type Query { """ Do not use (only used internally for stitching) """ _do_not_use_conversation( """ The ID of the Conversation """ id: String! ): Conversation """ Do not use (only used internally for stitching) """ _do_not_use_image: Image """ Returns a lot with specific `id`. """ _unused_auctionsLot(id: ID!): AuctionsLotState """ Lot standings for a user """ _unused_auctionsLotStandingConnection( after: String before: String first: Int last: Int userId: ID! ): AuctionsLotStandingConnection! admin: Admin """ Find an agreement by ID """ agreement( """ The ID of the agreement """ id: ID! ): Agreement ai: AI """ Get the year sparklines for the current artist. """ analyticsArtistSparklines( """ Returns the elements in the list that come after the specified cursor. """ after: String artistId: String! """ Returns the elements in the list that come before the specified cursor. """ before: String """ Returns the first _n_ elements from the list. """ first: Int """ Returns the last _n_ elements from the list. """ last: Int ): AnalyticsArtistSparklineConnection """ Get all recommended artworks for the current user. """ analyticsArtworkRecommendations( """ Returns the elements in the list that come after the specified cursor. """ after: String """ Returns the elements in the list that come before the specified cursor. """ before: String """ Returns the first _n_ elements from the list. """ first: Int """ Returns the last _n_ elements from the list. """ last: Int userId: String ): AnalyticsArtworkRecommendationConnection """ Get price insights for a market for each calendar year sorted by year asc. """ analyticsCalendarYearMarketPriceInsights( artistId: ID! endYear: String medium: String! startYear: String ): [CalendarYearMarketPriceInsights!] """ Get list of calendar year price insights for an artist for each market sorted by year asc. """ analyticsCalendarYearPriceInsights( artistId: ID! endYear: String startYear: String ): [CalendarYearPriceInsights!] """ Last updated timestamp """ analyticsLastUpdatedAt: AnalyticsDateTime """ Find PartnerStats """ analyticsPartnerStats(partnerId: String!): AnalyticsPartnerStats """ Query UserStats """ analyticsUserStats(userId: String!): AnalyticsUserStats """ An Article """ article( """ The ID of the Article """ id: String! ): Article """ A list of Articles """ articles( auctionID: String authorID: String channelID: String featured: Boolean "\n Only return articles matching specified ids.\n Accepts list of ids.\n " ids: [String] layout: ArticleLayout limit: Int offset: Int omit: [String!] published: Boolean = true showID: String sort: ArticleSorts ): [Article!]! """ A connection of articles """ articlesConnection( after: String before: String channelId: String featured: Boolean first: Int """ Get only articles with 'standard', 'feature', 'series' or 'video' layouts. """ inEditorialFeed: Boolean last: Int layout: ArticleLayout omit: [String!] page: Int sort: ArticleSorts ): ArticleConnection """ An Artist """ artist( """ The slug or ID of the Artist """ id: String! ): Artist artistSeries(id: ID!): ArtistSeries artistSeriesConnection( after: String artistID: ID artworkID: ID before: String excludeIDs: [ID!] first: Int last: Int ): ArtistSeriesConnection """ A list of Artists """ artists( "\n Only return artists matching specified ids.\n Accepts list of ids.\n " ids: [String] page: Int = 1 size: Int "\n Only return artists matching specified slugs.\n Accepts list of slugs. (e.g. 'andy-warhol', 'banksy')\n " slugs: [String] sort: ArtistSorts ): [Artist] """ A list of artists """ artistsConnection( after: String before: String first: Int "\n Only return artists matching specified ids.\n Accepts list of ids.\n " ids: [String] last: Int letter: String page: Int size: Int "\n Only return artists matching specified slugs.\n Accepts list of slugs (e.g. 'andy-warhol', 'banksy').\n " slugs: [String] sort: ArtistSorts """ If present, will search by term """ term: String ): ArtistConnection artnetImport(id: String!): ArtnetImport """ An Artwork """ artwork( """ The slug or ID of the Artwork """ id: String! ): Artwork """ List of all artwork attribution classes """ artworkAttributionClasses: [AttributionClass] """ Get a single artwork duplicate pair by ID """ artworkDuplicatePair( """ The ID of the artwork duplicate pair """ id: String! ): ArtworkDuplicatePair """ List artwork duplicate pairs for a partner """ artworkDuplicatePairsConnection( after: String before: String """ Filter by detection version """ detectionVersion: String first: Int last: Int """ Filter by whether the pair can be merged (neither artwork is both published and listed on Artsy) """ mergeable: Boolean """ The ID of the partner """ partnerId: String! """ Filter by pair status """ status: ArtworkDuplicatePairStatus ): ArtworkDuplicatePairConnection """ Interpret a natural-language search query into validated artwork filters. """ artworkFilterSuggestions( """ The natural-language search query. """ query: String! ): ArtworkFilterSuggestion artworkImport(id: String!): ArtworkImport """ List of all artwork mediums """ artworkMediums: [ArtworkMedium] """ An artwork result """ artworkResult( """ The slug or ID of the artwork """ id: String! ): ArtworkResult """ A list of Artworks """ artworks( after: String before: String first: Int ids: [String] last: Int respectParamsOrder: Boolean = false ): ArtworkConnection @deprecated( reason: "This is only for use in resolving stitched queries, not for first-class client use!" ) """ A connection of artworks matching an uploaded query image, using a pure vector (neural) image search. """ artworksByImageConnection( after: String before: String first: Int last: Int """ S3 bucket of the uploaded query image. """ s3Bucket: String! """ S3 key of the uploaded query image. """ s3Key: String! ): ArtworkConnection """ Artworks Elastic Search results """ artworksConnection( acquireable: Boolean additionalGeneIDs: [String] after: String aggregationPartnerCities: [String] aggregations: [ArtworkAggregation] artistID: String artistIDs: [String] artistNationalities: [String] artistSeriesID: String artistSeriesIDs: [String] artsyListing: Boolean """ When provided, will only return artworks with these IDs. """ artworkIDs: [String] atAuction: Boolean attributionClass: [String] availability: String before: String categories: [String] """ Filter by certificate of authenticity. Accepted values: gallery, authenticating_body, no. """ certificateOfAuthenticity: String color: String colors: [String] """ Filter by artwork completeness tiers. Accepts multiple values. """ completenessTier: [String] """ When true, will only return artworks carrying the Curators' Pick collector signal. Cannot be combined with `marketingCollectionID`. """ curatorsPick: Boolean dimensionRange: String """ When true, will skip pushing sold works to the back of the list. Useful in a CMS context. """ disableNotForSaleSorting: Boolean excludeArtworkIDs: [String] extraAggregationGeneIDs: [String] first: Int forSale: Boolean """ When true, will only return framed artworks. """ framed: Boolean geneID: String geneIDs: [String] height: String """ Hybrid only: how many candidates the semantic arm retrieves. Higher = wider semantic net. """ hybridNeuralK: Int """ Hybrid only: results each arm contributes to the blend; must be ≥ from + page size. Caps pagination depth. """ hybridPaginationDepth: Int """ Hybrid only: [lexical, neural] balance when blending scores, e.g. [0.5,0.5] equal, [0.3,0.7] favors semantic. """ hybridWeights: [Float!] importSources: [String] includeAllJSON: Boolean includeArtworksByFollowedArtists: Boolean includeMediumFilterInAggregation: Boolean """ Include artworks not listed on Artsy (artsy_listing: false). """ includeNonArtsyListed: Boolean includeUnpublished: Boolean """ When true, will only return artworks carrying the Increased Interest collector signal. """ increasedInterest: Boolean input: FilterArtworksInput inquireableOnly: Boolean keyword: String """ When true, will only return exact keyword match """ keywordMatchExact: Boolean """ When true and a `keyword` search returns no results, retries once with typo tolerance. Ignored with `keywordMatchExact`. """ keywordTypoTolerance: Boolean last: Int locationCities: [String] locationId: String majorPeriods: [String] """ When true, will only return `marketable` works (not nude or provocative). """ marketable: Boolean marketingCollectionID: String materialsTerms: [String] """ A string from the list of allocations, or * to denote all mediums """ medium: String offerable: Boolean page: Int partnerCities: [String] partnerID: ID partnerIDs: [String] partnerListID: String period: String periods: [String] priceRange: String """ When false, will only return unpublished artworks for authorized users. """ published: Boolean saleID: ID showID: String """ When true, will only return signed artworks. """ signed: Boolean size: Int """ Filter results by Artwork sizes """ sizes: [ArtworkSizes] sold: Boolean sort: String tagID: String """ Search strategy. 'hybrid' blends semantic (meaning-based) results into the keyword search. Requires a keyword; team-only. """ variant: String viewingRoomID: ID visibilityLevel: String width: String ): FilterArtworksConnection """ A connection of artworks for a user. """ artworksForUser( after: String """ The ID of the marketing collection to be used for backfill """ backfillMarketingCollectionID: String before: String excludeArtworkIds: [String] = [] excludeDislikedArtworks: Boolean = false first: Int includeBackfill: Boolean! last: Int marketable: Boolean maxWorksPerArtist: Int onlyAtAuction: Boolean = false page: Int userId: String version: String ): ArtworkConnection """ An auction result """ auctionResult( """ The ID or slug of the auction result """ id: String! ): AuctionResult """ Auction lot results """ auctionResultsByArtistsConnection( """ Returns the elements in the list that come after the specified cursor. """ after: String artistIds: [ID!]! """ Returns the elements in the list that come before the specified cursor. """ before: String first: Int """ Returns the last _n_ elements from the list. """ last: Int ): AuctionResultsByArtistsConnection """ If user is logged out; status is `LOGGED_OUT`. If user is logged in; status is `LOGGED_IN`. If user is logged in with invalid authentication (401); 'Promise' resolves to 'Status.Invalid'. All other status codes will resolve to `LOGGED_IN` because we don't know whether or not the authentication is valid (error could be something else). """ authenticationStatus: AuthenticationStatus! """ An Editorial author """ author( """ The slug or ID of the author """ id: String! ): Author authorsConnection( after: String before: String first: Int last: Int page: Int size: Int ): AuthorConnection """ A user's bank account """ bankAccount( """ The ID of the bank account """ id: String! ): BankAccount channel(id: ID!): Channel! """ A list of cities """ cities(featured: Boolean = false): [City!]! """ A city-based entry point for local discovery """ city( """ A point which will be used to locate the nearest local discovery city within a threshold """ near: Near """ A slug for the city, conforming to Gravity's city slug naming conventions """ slug: String ): City collection( """ The ID or slug of the Collection """ id: String! userID: String! ): Collection """ A collector profile. """ collectorProfile(userID: String): CollectorProfileType """ A list of collector profiles that have sent an inquiry to a partner """ collectorProfilesConnection( after: String before: String first: Int last: Int partnerID: ID """ Term used for searching collector profiles """ term: String ): CollectorProfileTypeConnection """ Find list of abandoned orders """ commerceAbandonedOrders( """ Returns the elements in the list that come after the specified cursor. """ after: String artworkId: ID! """ Returns the elements in the list that come before the specified cursor. """ before: String """ Ignored for the time being, future iterations will support this. """ excludeFailedPayments: Boolean """ Returns the first _n_ elements from the list. """ first: Int from: CommerceDateTime! """ Returns the last _n_ elements from the list. """ last: Int sellerId: String! ): CommerceOrderConnectionWithTotalCount """ Find balance of an account associated with a setup intent """ commerceBankAccountBalance( bankAccountId: ID setupIntentId: ID ): CommerceBankAccountBalance """ Buyer Activity Data for Collector Resume """ commerceBuyerActivity( buyerId: String! sellerId: String ): CommerceBuyerActivity """ Find list of competing orders """ commerceCompetingOrders( """ Returns the elements in the list that come after the specified cursor. """ after: String """ Returns the elements in the list that come before the specified cursor. """ before: String """ Returns the first _n_ elements from the list. """ first: Int """ Returns the last _n_ elements from the list. """ last: Int orderId: ID! ): CommerceOrderConnectionWithTotalCount commerceLineItems( """ Returns the elements in the list that come after the specified cursor. """ after: String artworkId: String """ Returns the elements in the list that come before the specified cursor. """ before: String editionSetId: String """ Returns the first _n_ elements from the list. """ first: Int """ Returns the last _n_ elements from the list. """ last: Int orderStates: [CommerceOrderStateEnum!] ): CommerceLineItemConnection """ Return my orders """ commerceMyOrders( """ Returns the elements in the list that come after the specified cursor. """ after: String """ Returns the elements in the list that come before the specified cursor. """ before: String filters: [CommerceOrderConnectionFilterEnum!] = [] """ Returns the first _n_ elements from the list. """ first: Int """ Returns the last _n_ elements from the list. """ last: Int mode: CommerceOrderModeEnum sellerId: String sort: CommerceOrderConnectionSortEnum states: [CommerceOrderStateEnum!] ): CommerceOrderConnectionWithTotalCount """ Find an order by ID """ commerceOrder(code: String, id: ID): CommerceOrder commerceOrderResult(code: String, id: String): CommerceOrderResult """ Find list of orders """ commerceOrders( """ Returns the elements in the list that come after the specified cursor. """ after: String """ Returns the elements in the list that come before the specified cursor. """ before: String buyerId: String buyerType: String """ Returns the first _n_ elements from the list. """ first: Int impulseConversationId: String """ Returns the last _n_ elements from the list. """ last: Int mode: CommerceOrderModeEnum sellerId: String sellerType: String sort: CommerceOrderConnectionSortEnum state: CommerceOrderStateEnum states: [CommerceOrderStateEnum!] ): CommerceOrderConnectionWithTotalCount """ Sold or bought-in consignments """ consignments( """ Returns the elements in the list that come after the specified cursor. """ after: String """ Returns the elements in the list that come before the specified cursor. """ before: String """ Returns the first _n_ elements from the list. """ first: Int """ Return sold or bought-in consignments for the given partner """ gravityPartnerId: ID! """ Returns the last _n_ elements from the list. """ last: Int """ Return consignments sorted by input (default sort by id) """ sort: ConsignmentSort ): ConsignmentConnection """ A conversation, usually between a user and a partner """ conversation( """ The ID of the Conversation """ id: String! ): Conversation """ Conversations, usually between a user and partner. """ conversationsConnection( after: String artistId: String artworkId: String before: String conversationType: ConversationType dismissed: Boolean first: Int fromId: String hasMessage: Boolean hasReply: Boolean last: Int partnerId: String toBeReplied: Boolean type: ConversationsInputMode = USER unreadByPartner: Boolean ): ConversationConnection """ A user's credit card """ creditCard( """ The ID of the Credit Card """ id: String! ): CreditCard """ Curated Marketing Collections """ curatedMarketingCollections(size: Int): [MarketingCollection] """ A list of trending artists. Inferred from a manually curated collection of trending artworks. """ curatedTrendingArtists( """ Returns the items in the list that come after the specified cursor. """ after: String """ Returns the items in the list that come before the specified cursor. """ before: String """ Returns the first n items from the list. """ first: Int """ Returns the last n items from the list. """ last: Int ): ArtistConnection departments: [Department!]! discoverArtworks( after: String before: String """ The number of curated artworks to return. """ curatedPicksSize: Int = 2 """ Exclude these artworks from the response """ excludeArtworkIds: [String] first: Int last: Int """ These artworks are used to calculate the taste profile vector. Such artworks are excluded from the response """ likedArtworkIds: [String] limit: Int = 5 """ These fields are used for More Like This query """ mltFields: [String] = ["genes", "materials", "tags", "medium"] """ Weights for the KNN and MLT query """ osWeights: [Float] = [0.6, 0.4] ): ArtworkConnection """ A connection of discovery categories for browsing art """ discoveryCategoriesConnection( after: String before: String first: Int last: Int ): DiscoveryCategoriesConnectionConnection """ Filter artworks by discovery category and specific filter """ discoveryCategoryArtworksConnection( acquireable: Boolean additionalGeneIDs: [String] after: String aggregationPartnerCities: [String] aggregations: [ArtworkAggregation] artistID: String artistIDs: [String] artistNationalities: [String] artistSeriesID: String artistSeriesIDs: [String] artsyListing: Boolean """ When provided, will only return artworks with these IDs. """ artworkIDs: [String] atAuction: Boolean attributionClass: [String] availability: String before: String categories: [String] """ The slug of the discovery category to filter artworks by """ categorySlug: String! """ Filter by certificate of authenticity. Accepted values: gallery, authenticating_body, no. """ certificateOfAuthenticity: String color: String colors: [String] """ Filter by artwork completeness tiers. Accepts multiple values. """ completenessTier: [String] """ When true, will only return artworks carrying the Curators' Pick collector signal. Cannot be combined with `marketingCollectionID`. """ curatorsPick: Boolean dimensionRange: String """ When true, will skip pushing sold works to the back of the list. Useful in a CMS context. """ disableNotForSaleSorting: Boolean excludeArtworkIDs: [String] extraAggregationGeneIDs: [String] """ The slug of the specific filter within the category to apply """ filterSlug: String! first: Int forSale: Boolean """ When true, will only return framed artworks. """ framed: Boolean geneID: String geneIDs: [String] height: String """ Hybrid only: how many candidates the semantic arm retrieves. Higher = wider semantic net. """ hybridNeuralK: Int """ Hybrid only: results each arm contributes to the blend; must be ≥ from + page size. Caps pagination depth. """ hybridPaginationDepth: Int """ Hybrid only: [lexical, neural] balance when blending scores, e.g. [0.5,0.5] equal, [0.3,0.7] favors semantic. """ hybridWeights: [Float!] importSources: [String] includeAllJSON: Boolean includeArtworksByFollowedArtists: Boolean includeMediumFilterInAggregation: Boolean """ Include artworks not listed on Artsy (artsy_listing: false). """ includeNonArtsyListed: Boolean includeUnpublished: Boolean """ When true, will only return artworks carrying the Increased Interest collector signal. """ increasedInterest: Boolean input: FilterArtworksInput inquireableOnly: Boolean keyword: String """ When true, will only return exact keyword match """ keywordMatchExact: Boolean """ When true and a `keyword` search returns no results, retries once with typo tolerance. Ignored with `keywordMatchExact`. """ keywordTypoTolerance: Boolean last: Int locationCities: [String] locationId: String majorPeriods: [String] """ When true, will only return `marketable` works (not nude or provocative). """ marketable: Boolean marketingCollectionID: String materialsTerms: [String] """ A string from the list of allocations, or * to denote all mediums """ medium: String offerable: Boolean page: Int partnerCities: [String] partnerID: ID partnerIDs: [String] partnerListID: String period: String periods: [String] priceRange: String """ When false, will only return unpublished artworks for authorized users. """ published: Boolean saleID: ID showID: String """ When true, will only return signed artworks. """ signed: Boolean size: Int """ Filter results by Artwork sizes """ sizes: [ArtworkSizes] sold: Boolean sort: String tagID: String """ Search strategy. 'hybrid' blends semantic (meaning-based) results into the keyword search. Requires a keyword; team-only. """ variant: String viewingRoomID: ID visibilityLevel: String width: String ): FilterArtworksConnection """ A single discovery category for browsing art by slug """ discoveryCategoryConnection( """ The slug of the discovery category to retrieve """ slug: String! ): DiscoveryCategoryUnion """ Discovery Marketing Collections for personalized recommendations """ discoveryMarketingCollections( after: String before: String first: Int last: Int size: Int = 12 ): [MarketingCollection!] """ A namespace external partners (provided by Galaxy) """ external: External! """ A Fair """ fair( """ The slug or ID of the Fair """ id: String! ): Fair """ A fair organizer, e.g. The Armory Show """ fairOrganizer( """ The slug or ID of the Fair organizer """ id: String! ): FairOrganizer """ A list of Fairs """ fairs( fairOrganizerID: String hasFullFeature: Boolean hasHomepageSection: Boolean hasListing: Boolean "\n Only return fairs matching specified ids.\n Accepts list of ids.\n " ids: [String] near: Near page: Int size: Int sort: FairSorts status: EventStatus ): [Fair] """ A list of fairs """ fairsConnection( after: String before: String fairOrganizerID: String first: Int hasFullFeature: Boolean hasHomepageSection: Boolean hasListing: Boolean """ Only return fairs matching specified IDs. Accepts list of IDs. """ ids: [String] last: Int near: Near sort: FairSorts status: EventStatus """ Search term to match against fair names for authenticated users """ term: String ): FairConnection """ A Feature """ feature( """ The slug or ID of the Feature """ id: ID ): Feature """ A list of currently running featured fairs, backfilled with past fairs. Fairs are sorted by start date in descending order. """ featuredFairs(includeBackfill: Boolean = true, size: Int): [Fair] featuredLinksConnection( after: String before: String first: Int last: Int """ If present, will search by term """ term: String ): FeaturedLinkConnection featuresConnection( after: String before: String first: Int last: Int sort: FeatureSorts """ If present, will search by term """ term: String ): FeatureConnection """ Partners Elastic Search results """ filterPartners( aggregations: [PartnersAggregation]! defaultProfilePublic: Boolean eligibleForCarousel: Boolean """ Indicates an active subscription """ eligibleForListing: Boolean """ Indicates tier 1/2 for gallery, 1 for institution """ eligibleForPrimaryBucket: Boolean """ Indicates tier 3/4 for gallery, 2 for institution """ eligibleForSecondaryBucket: Boolean """ Exclude partners the user follows (only effective when `include_partners_with_followed_artists` is set to true). """ excludeFollowedPartners: Boolean hasFullProfile: Boolean ids: [String] """ If true, will only return partners that are located near the user's location based on the IP address. """ includePartnersNearIpBasedLocation: Boolean = false """ If true, will only return partners that list artists that the user follows """ includePartnersWithFollowedArtists: Boolean """ Max distance to use when geo-locating partners, defaults to 75km. """ maxDistance: Int """ Coordinates to find partners closest to """ near: String page: Int "\n Only return partners of the specified partner categories.\n Accepts list of slugs.\n " partnerCategories: [String] size: Int sort: PartnersSortType """ term used for searching Partners """ term: String type: [PartnerClassification] ): FilterPartners gene( """ The slug or ID of the Gene """ id: String! ): Gene """ A list of Gene Families """ geneFamiliesConnection( after: String before: String first: Int last: Int ): GeneFamilyConnection """ A list of Genes """ genes( size: Int "\n Only return genes matching specified slugs.\n Accepts list of slugs.\n " slugs: [String] ): [Gene] """ A Hero Unit. """ heroUnit( """ The ID of the Hero Unit """ id: String! ): HeroUnit heroUnitsConnection( after: String before: String first: Int last: Int """ If true will include inactive hero units. """ private: Boolean = false """ If present will search by term. """ term: String ): HeroUnitConnection highlights: Highlights """ Home screen content """ homePage: HomePage """ Home view content """ homeView: HomeView! """ An identity verification that the user has access to """ identityVerification( """ ID of the IdentityVerification """ id: String! ): IdentityVerification """ A connection of identity verifications. """ identityVerificationsConnection( after: String before: String email: String first: Int last: Int name: String page: Int size: Int userId: String ): IdentityVerificationConnection """ An Instagram post by ID """ instagramPost( """ The internal ID of the Instagram post """ id: String! ): InstagramPost """ A connection of Instagram posts for a partner """ instagramPostsConnection( after: String before: String first: Int last: Int """ The partner ID to filter posts by """ partnerId: String! ): InstagramPostConnection invoice(token: String!): Invoice job(id: ID!): Job! jobs: [Job!]! """ A Mailchimp campaign by ID """ mailchimpCampaign( """ The internal ID of the campaign """ id: String! ): MailchimpCampaign """ A connection of Mailchimp campaigns for a partner """ mailchimpCampaignsConnection( after: String before: String first: Int last: Int """ The partner ID to filter campaigns by """ partnerId: String! """ Filter campaigns by status """ status: MailchimpCampaignStatus ): MailchimpCampaignConnection markdown(content: String!): MarkdownContent """ Get price insights for a market. """ marketPriceInsights(artistId: ID!, medium: String!): MarketPriceInsights """ Marketing Categories """ marketingCategories: [MarketingCollectionCategory!]! """ Marketing Collection """ marketingCollection( """ The slug or ID of the Marketing Collection """ slug: String! ): MarketingCollection """ A list of MarketingCollections """ marketingCollections( after: String artistID: String before: String category: String categorySlug: String first: Int isFeaturedArtistContent: Boolean last: Int size: Int slugs: [String] sort: MarketingCollectionsSorts ): [MarketingCollection!]! """ A Search for Artists """ matchArtist( """ Exclude these MongoDB ids from results """ excludeIDs: [String] """ Page to retrieve. Default: 1. """ page: Int """ Maximum number of items to retrieve. Default: 5. """ size: Int """ Your search term """ term: String! ): [Artist] matchConnection( after: String before: String """ ARTIST_SERIES, CITY, COLLECTION, and VIEWING_ROOM are not yet supported """ entities: [SearchEntity!] = [ ARTIST ARTIST_SERIES ARTWORK ARTICLE CITY COLLECTION FAIR FEATURE GALLERY GENE INSTITUTION PAGE PROFILE SALE SHOW TAG VIDEO VIEWING_ROOM ] first: Int last: Int """ Mode of search to execute """ mode: SearchMode = SITE page: Int = 1 size: Int = 10 term: String! ): MatchConnection """ A Search for Artists """ matchPartner( """ Your search term """ query: String! ): [Partner] me: Me """ A paginated list of changes recorded for a trackable model. """ modelChangesConnection( after: String before: String first: Int last: Int """ The ID of the trackable record. """ trackableId: String! """ The type of the trackable record. """ trackableType: ModelChangeTrackableType! ): ModelChangeConnection navigationGroup( """ The ID of the navigation group """ id: String! ): NavigationGroup! navigationGroups: [NavigationGroup!]! """ A snapshot of the server-driven navigation structure (e.g., What's New -> By Price -> Art under $500, etc.). Fetch by groupID + state for public/cached access, or by id for admin-specific lookups. """ navigationVersion( """ The ID of the navigation group (e.g., 'whats-new'). Used with state for public UI lookups with heavy caching (LIVE) or admin preview (DRAFT). """ groupID: String """ The internal ID of a specific navigation version. For admin UI use only, always uses authenticated loader. """ id: String """ The state of the version (LIVE or DRAFT). LIVE uses unauthenticated/cached loader, DRAFT uses authenticated/uncached loader for admin preview. """ state: NavigationVersionState = LIVE ): NavigationVersion """ Fetches an object given its globally unique ID. """ node( """ The globally unique ID of the node. """ id: ID! ): Node """ User's notification preferences """ notificationPreferences( authenticationToken: String ): [NotificationPreference!]! """ A feed of notifications """ notificationsConnection( after: String before: String first: Int last: Int """ Notification types to return """ notificationTypes: [NotificationTypesEnum] ): NotificationConnection """ Get an Offer """ offer( """ Return offers for the given partner """ gravityPartnerId: ID id: ID! ): ConsignmentOffer """ List offers """ offers( """ Returns the elements in the list that come after the specified cursor. """ after: String """ Returns the elements in the list that come before the specified cursor. """ before: String """ Returns the first _n_ elements from the list. """ first: Int """ Return offers for the given partner """ gravityPartnerId: ID! """ Returns the last _n_ elements from the list. """ last: Int """ Return offers sorted this way """ sort: ConsignmentOfferSort """ Return only offers with matching states """ states: [String!] ): ConsignmentOfferConnection """ An OrderedSet """ orderedSet( """ The ID of the OrderedSet """ id: String! ): OrderedSet """ A collection of OrderedSets """ orderedSets( """ Key to the OrderedSet or group of OrderedSets """ key: String! public: Boolean = true ): [OrderedSet] """ A connection of Ordered Sets """ orderedSetsConnection( after: String before: String first: Int last: Int """ If present, will search by term """ term: String ): OrderedSetConnection page(id: ID!): Page! pagesConnection( after: String before: String first: Int last: Int """ If present, will search by term """ term: String ): PageConnection """ A Partner """ partner( """ The slug or ID of the Partner """ id: String! ): Partner """ Retrieve all partner documents for a given partner """ partnerArtistDocumentsConnection( after: String """ The slug or ID of the Artist """ artistID: String! before: String first: Int last: Int page: Int """ The slug or ID of the Partner """ partnerID: String! size: Int ): PartnerArtistDocumentConnection @deprecated(reason: "Prefer `partner.documentsConnection`") """ A list of Artworks for a partner """ partnerArtworks( after: String before: String first: Int last: Int partnerID: String! private: Boolean viewingRoomID: String ): ArtworkConnection @deprecated( reason: "This is only for use in resolving stitched queries, not for first-class client use." ) """ A list of PartnerCategories """ partnerCategories( categoryType: PartnerCategoryType """ Filter by whether category is internal """ internal: Boolean = false size: Int ): [PartnerCategory] """ A PartnerCategory """ partnerCategory( """ The slug or ID of the PartnerCategory """ id: String! ): PartnerCategory """ Retrieve all partner show documents for a given partner and show """ partnerShowDocumentsConnection( after: String before: String first: Int last: Int page: Int """ The slug or ID of the Partner """ partnerID: String! """ The slug or ID of the Show """ showID: String! size: Int ): PartnerShowDocumentConnection @deprecated(reason: "Prefer `partner.documentsConnection`") """ A list of Partners """ partnersConnection( after: String before: String defaultProfilePublic: Boolean """ Indicates an active subscription """ eligibleForListing: Boolean """ Exclude partners the user follows (only effective when `include_partners_with_followed_artists` is set to true). """ excludeFollowedPartners: Boolean first: Int ids: [String] """ If true, will only return partners that are located near the user's location based on the IP address. """ includePartnersNearIpBasedLocation: Boolean = false """ If true, will only return partners that list artists that the user follows """ includePartnersWithFollowedArtists: Boolean last: Int """ Max distance to use when geo-locating partners, defaults to 75km. """ maxDistance: Int """ Coordinates to find partners closest to """ near: String "\n Only return partners of the specified partner categories.\n Accepts list of slugs.\n " partnerCategories: [String] sort: PartnersSortType type: [PartnerClassification] ): PartnerConnection """ Phone number information """ phoneNumber( """ Phone number to parse """ phoneNumber: String! """ Two-letter region code (ISO 3166-1 alpha-2) """ regionCode: String ): PhoneNumberType """ A previewed saved search """ previewSavedSearch( """ The criteria which describe the alert """ attributes: PreviewSavedSearchAttributes ): PreviewSavedSearch """ Get all price insights for an artist. """ priceInsights( """ Returns the elements in the list that come after the specified cursor. """ after: String artistId: ID! """ Returns the elements in the list that come before the specified cursor. """ before: String """ Returns the first _n_ elements from the list. """ first: Int """ Returns the last _n_ elements from the list. """ last: Int """ Return price insights sorted this way """ sort: PriceInsightSort ): PriceInsightConnection """ Find a private viewing room by slug. Returns null for an unknown/unpublished slug. Returns whether a passcode is required; artwork/gallery data is omitted until authenticated via the authenticatePrivateViewingRoom mutation. """ privateViewingRoom(slug: String!): PrivateViewingRoom """ A Profile """ profile( """ The slug or ID of the Profile """ id: String! ): Profile """ A list of Profiles """ profilesConnection( after: String before: String first: Int ids: [String] last: Int """ If present, will search by term """ term: String ): ProfileConnection purchase( """ The ID of the purchase """ id: String! ): Purchase """ A list of purchases made by users. """ purchasesConnection( after: String """ The ID or slug of the artist to filter purchases by. """ artistId: String """ The ID or slug of the artwork to filter purchases by. """ artworkId: String before: String first: Int last: Int page: Int """ The ID of the sale to filter purchases by. """ saleId: String size: Int """ The ID of the user to filter purchases by. """ userId: String ): PurchasesConnection """ Static set of recently sold artworks for the SWA landing page """ recentlySoldArtworks( after: String before: String first: Int last: Int ): RecentlySoldArtworkTypeConnection """ A requested location """ requestLocation(ip: String): RequestLocation """ A Sale """ sale( """ The slug or ID of the Sale """ id: String! ): Sale saleAgreement(id: ID!): SaleAgreement! """ The conditions of sale for Artsy or an individual sale. """ saleAgreementsConnection( after: String before: String first: Int last: Int """ if present, will return condition of sales with the input status """ status: SaleAgreementStatus ): SaleAgreementConnection """ A Sale Artwork """ saleArtwork( """ The slug or ID of the SaleArtwork """ id: String! ): SaleArtwork """ Sale Artworks search results """ saleArtworksConnection( after: String """ Please make sure to supply the TOTAL aggregation if you will be setting any aggregations """ aggregations: [SaleArtworkAggregation] artistIDs: [String] before: String biddableSale: Boolean estimateRange: String excludeClosedLots: Boolean first: Int geneIDs: [String] """ When called under the Me field, this defaults to true. Otherwise it defaults to false """ includeArtworksByFollowedArtists: Boolean isAuction: Boolean last: Int liveSale: Boolean marketable: Boolean page: Int saleID: ID """ Same as saleID argument, but matches the argument type of `sale(id: 'foo')` root field """ saleSlug: String size: Int sort: String userId: String ): SaleArtworksConnection """ A list of Sales """ salesConnection( after: String auctionState: AuctionState before: String first: Int "\n Only return sales matching specified ids.\n Accepts list of ids.\n " ids: [String] """ Limit by auction. """ isAuction: Boolean = true last: Int """ Limit by live status. """ live: Boolean = true """ Limit by published status. """ published: Boolean = true """ Returns sales the user has registered for if true, returns sales the user has not registered for if false. """ registered: Boolean sort: SaleSorts """ If present, will search by term """ term: String ): SaleConnection """ Global search """ searchConnection( after: String aggregations: [SearchAggregation] before: String """ Entities to include in search. Default: [ARTIST, ARTWORK]. """ entities: [SearchEntity] first: Int last: Int """ Mode of search to execute. Default: SITE. """ mode: SearchMode """ If present, will be used for pagination instead of cursors. """ page: Int """ Search query to perform. Required. """ query: String! """ Search variant for A/B testing (e.g. 'experiment'). """ variant: String """ Filter by visible_to_public. Only available for authenticated users. Defaults to true if not provided. """ visibleToPublic: Boolean ): SearchableConnection searchDropdown: SearchDropdown! """ A ShippingPreset """ shippingPreset( """ The ID of the ShippingPreset """ id: String! ): ShippingPreset shortcut(id: ID!): Shortcut """ A Show """ show( """ The slug or ID of the Show """ id: String! """ Include shows that are no longer running/active (defaults to false) """ includeAllShows: Boolean = false ): Show """ A list of Shows """ showsConnection( after: String atAFair: Boolean before: String displayable: Boolean = true first: Int hasLocation: Boolean ids: [String] last: Int """ Caps number of shows per partner (may result in uneven page sizes) """ maxPerPartner: Int sort: ShowSorts status: EventStatus """ If present, will search by term """ term: String ): ShowConnection """ Content for a specific page or view """ staticContent( """ The slug or id for the view """ id: String ): StaticContent """ Get a Submission """ submission(externalId: ID, id: ID, sessionID: String): ConsignmentSubmission """ Filter all submission """ submissions( """ Returns the elements in the list that come after the specified cursor. """ after: String """ If true return only available submissions """ available: Boolean """ Returns the elements in the list that come before the specified cursor. """ before: String """ Get submissions filtered by category """ filterByCategory: ConsignmentSubmissionCategoryAggregation """ Returns the first _n_ elements from the list. """ first: Int """ Get all submissions with these IDs """ ids: [ID!] """ Returns the last _n_ elements from the list. """ last: Int """ Return submissions sorted this way """ sort: ConsignmentSubmissionSort """ Get all submissions with these user IDs """ userId: [ID!] ): ConsignmentSubmissionConnection """ Fields related to internal systems. """ system: System tag( """ The slug or ID of the Tag """ id: String! ): Tag targetSupply: TargetSupply """ Artists and artworks trending on Artsy over a rolling window, ranked by search and view activity. """ trendingSearches(period: TrendingSearchPeriod = ONE_DAY): TrendingSearches user( """ Email to search for user by """ email: String """ ID of the user """ id: String ): User """ A list of Users """ usersConnection( after: String before: String first: Int ids: [String] last: Int """ If present, will search by term, cannot be combined with `ids` """ term: String ): UserConnection """ A Partner or Fair """ vanityURLEntity( """ The slug or ID of the Profile to get a partner or fair for """ id: String! ): VanityURLEntityType """ Verify a given address. """ verifyAddress(input: VerifyAddressInput!): VerifyAddressPayload """ Verify a given user. """ verifyUser( """ Email address to verify. """ email: String! """ Recaptcha token. """ recaptchaToken: String! ): VerifyUser """ Find a video by ID """ video(id: ID!): Video videosConnection( after: String before: String first: Int last: Int sort: VideoSorts = UPDATED_AT_DESC term: String ): VideoConnection """ A wildcard used to support complex root queries in Relay """ viewer: Viewer """ Find a viewing room by ID """ viewingRoom(id: ID!): ViewingRoom """ (Deprecate) use viewingRoomsConnection """ viewingRooms( after: String before: String featured: Boolean first: Int last: Int partnerID: ID """ (Deprecated) Use statuses """ published: Boolean """ Returns only viewing rooms with these statuses """ statuses: [ViewingRoomStatusEnum!] = [live] ): ViewingRoomConnection @deprecated(reason: "Use viewingRoomsConnection") viewingRoomsConnection( after: String before: String featured: Boolean first: Int ids: [ID!] last: Int partnerID: ID statuses: [ViewingRoomStatusEnum!] = [live] ): ViewingRoomsConnection } type Quiz { completedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! quizArtworkConnection( after: String before: String first: Int last: Int page: Int size: Int ): QuizArtworkConnection recommendedArtworks: [Artwork!]! savedArtworks: [Artwork!]! } """ A connection to a list of items. """ type QuizArtworkConnection { """ A list of edges. """ edges: [QuizArtworkEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type QuizArtworkEdge { """ A cursor for use in pagination """ cursor: String! interactedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ The item at the end of the edge """ node: Artwork position: Int! } type RecenltySoldArtworkPerformance { """ Percentage performance over mid-estimate """ mid: String } type RecentlySoldArtworkType { artwork: Artwork highEstimate: Money lowEstimate: Money performance: RecenltySoldArtworkPerformance priceRealized: Money } """ A connection to a list of items. """ type RecentlySoldArtworkTypeConnection { """ A list of edges. """ edges: [RecentlySoldArtworkTypeEdge] """ Information to aid in pagination. """ pageInfo: PageInfo! } """ An edge in a connection. """ type RecentlySoldArtworkTypeEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: RecentlySoldArtworkType } input RecordArtworkViewInput { artwork_id: String! clientMutationId: String } type RecordArtworkViewPayload { artworkId: String! artwork_id: String! @deprecated(reason: "Use artworkId") clientMutationId: String } type RecordGuidedTourEventFailure { mutationError: GravityMutationError! } input RecordGuidedTourEventInput { clientMutationId: String context: GuidedTourContext! itemKey: String reason: String stepPosition: Int tourKey: String type: GuidedTourEventType! } type RecordGuidedTourEventPayload { clientMutationId: String recordGuidedTourEventOrError: RecordGuidedTourEventResponseOrError! } union RecordGuidedTourEventResponseOrError = RecordGuidedTourEventFailure | RecordGuidedTourEventSuccess type RecordGuidedTourEventSuccess { guidedTour: GuidedTourStateView! me: Me! } type RefreshInstagramAccountFailure { mutationError: GravityMutationError } input RefreshInstagramAccountInput { clientMutationId: String """ The internal ID of the Instagram account to refresh """ id: String! } type RefreshInstagramAccountPayload { clientMutationId: String """ On success: the refreshed Instagram account """ instagramAccountOrError: RefreshInstagramAccountResponseOrError } union RefreshInstagramAccountResponseOrError = RefreshInstagramAccountFailure | RefreshInstagramAccountSuccess type RefreshInstagramAccountSuccess { instagramAccount: InstagramAccount } enum RelatedArtistsKind { CONTEMPORARY MAIN } type RelatedArtworkGrid implements ArtworkContextGrid { artworksConnection( after: String before: String first: Int last: Int ): ArtworkConnection ctaHref: String ctaTitle: String title: String } type RemoveArtworkFromPartnerListFailure { mutationError: GravityMutationError } input RemoveArtworkFromPartnerListMutationInput { """ The ID of the artwork to remove. """ artworkId: String! clientMutationId: String """ The ID of the partner list. """ listId: String! } type RemoveArtworkFromPartnerListMutationPayload { clientMutationId: String """ On success: the updated partner list. On error: the error that occurred. """ partnerListOrError: RemoveArtworkFromPartnerListResponseOrError } union RemoveArtworkFromPartnerListResponseOrError = RemoveArtworkFromPartnerListFailure | RemoveArtworkFromPartnerListSuccess type RemoveArtworkFromPartnerListSuccess { partnerList: PartnerList } type RemoveArtworkFromPartnerShowFailure { mutationError: GravityMutationError } input RemoveArtworkFromPartnerShowMutationInput { """ The ID of the artwork to add to the show. """ artworkId: String! clientMutationId: String """ The ID of the partner. """ partnerId: String! """ The ID of the show. """ showId: String! } type RemoveArtworkFromPartnerShowMutationPayload { clientMutationId: String """ On success: the show that the artwork was removed from. On error: the error that occurred. """ showOrError: RemoveArtworkFromPartnerShowResponseOrError } union RemoveArtworkFromPartnerShowResponseOrError = RemoveArtworkFromPartnerShowFailure | RemoveArtworkFromPartnerShowSuccess type RemoveArtworkFromPartnerShowSuccess { show: Show } type RemoveArtworkImportImageFailure { mutationError: GravityMutationError } input RemoveArtworkImportImageInput { artworkImportID: String! clientMutationId: String imageID: String! """ The ID of the row containing the image """ rowID: String! } type RemoveArtworkImportImagePayload { clientMutationId: String removeArtworkImportImageOrError: RemoveArtworkImportImageResponseOrError } union RemoveArtworkImportImageResponseOrError = RemoveArtworkImportImageFailure | RemoveArtworkImportImageSuccess type RemoveArtworkImportImageSuccess { artworkImport: ArtworkImport success: Boolean! } """ Autogenerated input type of RemoveAssetFromConsignmentSubmission """ input RemoveAssetFromConsignmentSubmissionInput { assetID: String """ A unique identifier for the client performing the mutation. """ clientMutationId: String sessionID: String } """ Autogenerated return type of RemoveAssetFromConsignmentSubmission """ type RemoveAssetFromConsignmentSubmissionPayload { asset: ConsignmentSubmissionCategoryAsset """ A unique identifier for the client performing the mutation. """ clientMutationId: String } type RemoveInstallShotFromPartnerShowFailure { mutationError: GravityMutationError } input RemoveInstallShotFromPartnerShowMutationInput { clientMutationId: String """ The ID of the installation shot image to remove. """ imageId: String! """ The ID of the show. """ showId: String! } type RemoveInstallShotFromPartnerShowMutationPayload { clientMutationId: String """ On success: the show that the installation shot was removed from. On error: the error that occurred. """ showOrError: RemoveInstallShotFromPartnerShowResponseOrError } union RemoveInstallShotFromPartnerShowResponseOrError = RemoveInstallShotFromPartnerShowFailure | RemoveInstallShotFromPartnerShowSuccess type RemoveInstallShotFromPartnerShowSuccess { show: Show } type ReopenArtworkDuplicatePairFailure { mutationError: GravityMutationError } input ReopenArtworkDuplicatePairMutationInput { clientMutationId: String """ The ID of the artwork duplicate pair """ id: String! } type ReopenArtworkDuplicatePairMutationPayload { artworkDuplicatePairOrError: ReopenArtworkDuplicatePairResponseOrError clientMutationId: String } union ReopenArtworkDuplicatePairResponseOrError = ReopenArtworkDuplicatePairFailure | ReopenArtworkDuplicatePairSuccess type ReopenArtworkDuplicatePairSuccess { artworkDuplicatePair: ArtworkDuplicatePair } type RepositionArtworkImagesFailure { mutationError: GravityMutationError } input RepositionArtworkImagesMutationInput { """ The ID of the artwork. """ artworkId: String! clientMutationId: String """ An ordered array of image IDs representing the new display order. """ imageIds: [String!]! } type RepositionArtworkImagesMutationPayload { """ On success: the artwork with repositioned images. On error: the error that occurred. """ artworkOrError: RepositionArtworkImagesResponseOrError clientMutationId: String } union RepositionArtworkImagesResponseOrError = RepositionArtworkImagesFailure | RepositionArtworkImagesSuccess type RepositionArtworkImagesSuccess { artwork: Artwork } type RepositionArtworksInPartnerShowFailure { mutationError: GravityMutationError } input RepositionArtworksInPartnerShowMutationInput { """ An ordered array of artwork IDs representing the new display order. """ artworkIds: [String!]! clientMutationId: String """ The ID of the partner. """ partnerId: String! """ The ID of the show. """ showId: String! } type RepositionArtworksInPartnerShowMutationPayload { clientMutationId: String """ On success: the show with repositioned artworks. On error: the error that occurred. """ showOrError: RepositionArtworksInPartnerShowResponseOrError } union RepositionArtworksInPartnerShowResponseOrError = RepositionArtworksInPartnerShowFailure | RepositionArtworksInPartnerShowSuccess type RepositionArtworksInPartnerShowSuccess { show: Show } type RepositionInstallShotsInPartnerShowFailure { mutationError: GravityMutationError } input RepositionInstallShotsInPartnerShowMutationInput { clientMutationId: String """ An ordered array of image IDs representing the new display order. """ imageIds: [String!]! """ The ID of the show. """ showId: String! } type RepositionInstallShotsInPartnerShowMutationPayload { clientMutationId: String """ On success: the show with repositioned installation shots. On error: the error that occurred. """ showOrError: RepositionInstallShotsInPartnerShowResponseOrError } union RepositionInstallShotsInPartnerShowResponseOrError = RepositionInstallShotsInPartnerShowFailure | RepositionInstallShotsInPartnerShowSuccess type RepositionInstallShotsInPartnerShowSuccess { show: Show } type RepositionPartnerArtistArtworksFailure { mutationError: GravityMutationError } input RepositionPartnerArtistArtworksMutationInput { """ The ID of the artist. """ artistId: String! """ An ordered array of artwork IDs representing the new display order. """ artworkIds: [String!]! clientMutationId: String """ The ID of the partner. """ partnerId: String! } type RepositionPartnerArtistArtworksMutationPayload { clientMutationId: String partnerOrError: RepositionPartnerArtistArtworksResponseOrError } union RepositionPartnerArtistArtworksResponseOrError = RepositionPartnerArtistArtworksFailure | RepositionPartnerArtistArtworksSuccess type RepositionPartnerArtistArtworksSuccess { partner: Partner } type RepositionPartnerListArtworksFailure { mutationError: GravityMutationError } input RepositionPartnerListArtworksMutationInput { """ The ordered list of artwork IDs representing the new positions. """ artworkIds: [String!]! clientMutationId: String """ The ID of the partner list. """ listId: String! } type RepositionPartnerListArtworksMutationPayload { clientMutationId: String """ On success: the updated partner list. On error: the error that occurred. """ partnerListOrError: RepositionPartnerListArtworksResponseOrError } union RepositionPartnerListArtworksResponseOrError = RepositionPartnerListArtworksFailure | RepositionPartnerListArtworksSuccess type RepositionPartnerListArtworksSuccess { partnerList: PartnerList } type RepositionPartnerLocationsFailure { mutationError: GravityMutationError } input RepositionPartnerLocationsMutationInput { clientMutationId: String """ An ordered array of location IDs representing the new display order. """ locationIds: [String!]! """ The ID partner. """ partnerId: String! } type RepositionPartnerLocationsMutationPayload { clientMutationId: String partnerOrError: RepositionPartnerLocationsSuccessOrError } type RepositionPartnerLocationsSuccess { partner: Partner } union RepositionPartnerLocationsSuccessOrError = RepositionPartnerLocationsFailure | RepositionPartnerLocationsSuccess type RepositionViewingRoomArtworksFailure { mutationError: GravityMutationError } input RepositionViewingRoomArtworksMutationInput { """ An ordered array of artwork IDs representing the new display order. """ artworkIDs: [String!]! clientMutationId: String """ The ID of the viewing room. """ viewingRoomID: String! } type RepositionViewingRoomArtworksMutationPayload { clientMutationId: String """ On success: the reordered artwork IDs. On error: the error that occurred. """ viewingRoomArtworksOrError: RepositionViewingRoomArtworksResponseOrError } union RepositionViewingRoomArtworksResponseOrError = RepositionViewingRoomArtworksFailure | RepositionViewingRoomArtworksSuccess type RepositionViewingRoomArtworksSuccess { artworkIDs: [String!]! } type ReprocessArtworkImageFailure { mutationError: GravityMutationError } input ReprocessArtworkImageInput { artworkID: String! clientMutationId: String imageID: String! } union ReprocessArtworkImageMutationType = ReprocessArtworkImageFailure | ReprocessArtworkImageSuccess type ReprocessArtworkImagePayload { artworkOrError: ReprocessArtworkImageMutationType clientMutationId: String } type ReprocessArtworkImageSuccess { success: Boolean } type Request { """ IP Address of the current request, useful for debugging """ ipAddress: String! } input RequestConditionReportInput { clientMutationId: String """ ID of the sale artwork. """ saleArtworkID: String! } type RequestConditionReportPayload { clientMutationId: String conditionReportRequest: ConditionReportRequest! } input RequestCredentialsForAssetUploadInput { """ The desired access control """ acl: String! clientMutationId: String """ The gemini template you want to request """ name: String! } type RequestCredentialsForAssetUploadPayload { asset: Credentials clientMutationId: String } type RequestError { statusCode: Int! } type RequestLocation { cached: Int city: String coordinates: LatLng country: String countryCode: String id: ID! } input RequestPriceEstimateInput { artworkId: String! clientMutationId: String requesterEmail: String requesterName: String requesterPhoneNumber: String } union RequestPriceEstimateMutationType = RequestPriceEstimatedMutationFailure | RequestPriceEstimatedMutationSuccess type RequestPriceEstimatePayload { clientMutationId: String priceEstimateParamsOrError: RequestPriceEstimateMutationType } type RequestPriceEstimatedMutationFailure { mutationError: GravityMutationError } type RequestPriceEstimatedMutationSuccess { submittedPriceEstimateParams: SubmittedPriceEstimateParams } type ResizedImageUrl { cachePolicy: String factor: Float! height: Int src: String! srcSet: String! url: String! width: Int } input S3LocationInput { """ The S3 bucket name where the image is stored. """ bucket: String! """ The S3 key (object path) for the image. """ key: String! } """ The conditions for uploading assets to media.artsy.net """ type S3PolicyConditionsType { """ The assigned access control """ acl: String! """ The bucket to upload to. """ bucket: String! """ A key which is prefixed on your file """ geminiKey: String! """ The returned status code, currently always 201 """ successActionStatus: String! } """ An policy for uploading assets to media.artsy.net """ type S3PolicyDocumentType { """ The details for the upload """ conditions: S3PolicyConditionsType! """ An expiration date string. """ expiration: String! } type SEPADebit { """ The last 4 digits of the bank account. """ last4: String! } type Sale implements Node { """ Returns a connection of artworks for a sale. """ artworksConnection( after: String before: String """ When this is true and there is no access token present, allow a loader that caches to be used. """ cached: Boolean = true """ List of artwork IDs to exclude from the response (irrespective of size) """ exclude: [String] first: Int last: Int status: SaleArtworkStatus ): ArtworkConnection associatedSale: Sale """ A bid increment policy that explains minimum bids in ranges. """ bidIncrements: [BidIncrement] bidder: Bidder """ Auction's buyer's premium policy. """ buyersPremium: [BuyersPremium] cached: Int cascadingEndTime: SaleCascadingEndTime """ Amount of minutes in between each lot closing. """ cascadingEndTimeIntervalMinutes: Int collectPayments: Boolean! coverImage: Image currency: String description(format: Format): String displayTimelyAt: String eligibleSaleArtworksCount: Int endAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String endedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String eventEndAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String eventStartAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ Amount of time added when a late bid comes in. """ extendedBiddingIntervalMinutes: Int """ Duration before lot closes that a late bid would extend the end time. """ extendedBiddingPeriodMinutes: Int """ Suggested filters for associated artworks """ featuredKeywords: [String!]! """ A formatted description of when the auction starts or ends or if it has ended """ formattedStartDateTime: String hideTotal: Boolean href: String """ A globally unique ID. """ id: ID! initials(length: Int = 3): String """ A type-specific ID likely used as a database ID. """ internalID: ID! isArtsyLicensed: Boolean! isAuction: Boolean isAuctionPromo: Boolean isBenefit: Boolean isClosed: Boolean isGalleryAuction: Boolean isLiveOpen: Boolean """ True for live auctions once live part is happening or in the past """ isLiveOpenHappened: Boolean isLotConditionsReportEnabled: Boolean """ True for a cascading-end-time enabled sale where lots have started closing """ isLotsClosing: Boolean! isOpen: Boolean isPreliminary: Boolean isPreview: Boolean isRegistrationClosed: Boolean isWithBuyersPremium: Boolean liveStartAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ Returns a live auctions url if the sale is open and start time is after now """ liveURLIfOpen: String name: String partner: Partner profile: Profile promotedSale: Sale registrationEndsAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ A registration for this sale or null """ registrationStatus: Bidder requireBidderApproval: Boolean requireIdentityVerification: Boolean saleAgreement: SaleAgreement saleArtwork(id: String!): SaleArtwork saleArtworksConnection( after: String all: Boolean = false before: String first: Int """ List of sale artwork internal IDs to fetch """ internalIDs: [ID] last: Int status: SaleArtworkStatus ): SaleArtworkConnection saleType: String """ A slug ID. """ slug: ID! startAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String status: String symbol: String timeZone: String totalRaised: Money """ True if the current user needs to undergo identity verification for this sale, false otherwise """ userNeedsIdentityVerification: Boolean } type SaleAgreement { content(format: Format): String createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String displayEndAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String displayStartAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ A globally unique ID. """ id: ID! """ A type-specific ID. """ internalID: ID! published: Boolean! sale: Sale saleId: String! status: SaleAgreementStatus! updatedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String userId: String! } """ A connection to a list of items. """ type SaleAgreementConnection { """ A list of edges. """ edges: [SaleAgreementEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type SaleAgreementEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: SaleAgreement } enum SaleAgreementStatus { ARCHIVED CURRENT PAST } type SaleArtwork implements ArtworkEdgeInterface & Node { artwork: Artwork cached: Int calculatedCost( """ Max bid price for the sale artwork """ bidAmountMinor: Int! ): CalculatedCost counts: SaleArtworkCounts """ Currency abbreviation (e.g. "USD") """ currency: String currentBid: SaleArtworkCurrentBid cursor: String endAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String endedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String estimate: String """ Singular estimate field, if specified """ estimateCents: Int extendedBiddingEndAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ A formatted description of the lot end date and time """ formattedEndDateTime: String """ A formatted description of when the lot starts or ends or if it has ended """ formattedStartDateTime: String highEstimate: SaleArtworkHighEstimate highestBid: SaleArtworkHighestBid """ A globally unique ID. """ id: ID! increments( """ Whether or not to start the increments at the user's latest bid """ useMyMaxBid: Boolean ): [BidIncrementsFormatted] """ A type-specific ID likely used as a database ID. """ internalID: ID! isBidOn: Boolean """ Can bids be placed on the artwork? """ isBiddable: Boolean """ Is the user the highest bidder on the sale artwork. (Currently only being used via me.myBids.) """ isHighestBidder: Boolean """ True if this sale artwork is being watched by a user and they have not bid on it. (Currently only used on me.myBids and me.watchedLotsConnection.) """ isWatching: Boolean isWithReserve: Boolean lotID: String lotLabel( """ Whether to trim anything past the first alphanumeric chunk """ trim: Boolean = false ): String lotState: CausalityLotState lowEstimate: SaleArtworkLowEstimate minimumNextBid: SaleArtworkMinimumNextBid node: Artwork openingBid: SaleArtworkOpeningBid position: Float reserve: SaleArtworkReserve reserveMessage: String reserveStatus: String sale: Sale saleID: String """ A slug ID. """ slug: ID! """ Currency symbol (e.g. "$") """ symbol: String } enum SaleArtworkAggregation { ARTIST FOLLOWED_ARTISTS MEDIUM TOTAL } """ A connection to a list of items. """ type SaleArtworkConnection { """ A list of edges. """ edges: [SaleArtworkEdge] """ Information to aid in pagination. """ pageInfo: PageInfo! } type SaleArtworkCounts { bidderPositions( """ Returns a `String` when format is specified. e.g.`'0,0.0000''` """ format: String label: String ): FormattedNumber } type SaleArtworkCurrentBid { """ A formatted price with various currency formatting options. """ amount( decimal: String = "." disambiguate: Boolean = false """ Allows control of symbol position (%v = value, %s = symbol) """ format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String """ An amount of money expressed in cents. """ cents: Float """ A pre-formatted price. """ display: String } """ An edge in a connection. """ type SaleArtworkEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: SaleArtwork } type SaleArtworkHighEstimate { """ A formatted price with various currency formatting options. """ amount( decimal: String = "." disambiguate: Boolean = false """ Allows control of symbol position (%v = value, %s = symbol) """ format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String """ An amount of money expressed in cents. """ cents: Float """ A pre-formatted price. """ display: String } type SaleArtworkHighestBid { """ A formatted price with various currency formatting options. """ amount( decimal: String = "." disambiguate: Boolean = false """ Allows control of symbol position (%v = value, %s = symbol) """ format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String cents: Int createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String display: String isCancelled: Boolean } type SaleArtworkLowEstimate { """ A formatted price with various currency formatting options. """ amount( decimal: String = "." disambiguate: Boolean = false """ Allows control of symbol position (%v = value, %s = symbol) """ format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String """ An amount of money expressed in cents. """ cents: Float """ A pre-formatted price. """ display: String } type SaleArtworkMinimumNextBid { """ A formatted price with various currency formatting options. """ amount( decimal: String = "." disambiguate: Boolean = false """ Allows control of symbol position (%v = value, %s = symbol) """ format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String """ An amount of money expressed in cents. """ cents: Float """ A pre-formatted price. """ display: String } type SaleArtworkOpeningBid { """ A formatted price with various currency formatting options. """ amount( decimal: String = "." disambiguate: Boolean = false """ Allows control of symbol position (%v = value, %s = symbol) """ format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String """ An amount of money expressed in cents. """ cents: Float """ A pre-formatted price. """ display: String } type SaleArtworkReserve { """ A formatted price with various currency formatting options. """ amount( decimal: String = "." disambiguate: Boolean = false """ Allows control of symbol position (%v = value, %s = symbol) """ format: String = "%s%v" precision: Int = 0 symbol: String thousand: String = "," ): String """ An amount of money expressed in cents. """ cents: Float """ A pre-formatted price. """ display: String } enum SaleArtworkStatus { CLOSED OPEN } """ The results for one of the requested aggregations """ type SaleArtworksAggregationResults { counts: [AggregationCount] slice: SaleArtworkAggregation } """ A connection to a list of items. """ type SaleArtworksConnection implements ArtworkConnectionInterface { """ Returns aggregation counts for the given filter query. """ aggregations: [SaleArtworksAggregationResults] counts: FilterSaleArtworksCounts """ A list of edges. """ edges: [SaleArtwork] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } type SaleCascadingEndTime { """ A more granular formatted description of when the auction starts or ends if it has ended """ formattedStartDateTime: String """ A label indicating the interval in minutes in which lots close """ intervalLabel: String } """ A connection to a list of items. """ type SaleConnection { """ A list of edges. """ edges: [SaleEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type SaleEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: Sale } type SaleRegistration { bidder: Bidder """ A globally unique ID. """ id: ID! isRegistered: Boolean sale: Sale } """ A connection to a list of items. """ type SaleRegistrationConnection { """ A list of edges. """ edges: [SaleRegistrationEdge] """ Information to aid in pagination. """ pageInfo: PageInfo! } """ An edge in a connection. """ type SaleRegistrationEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: SaleRegistration } enum SaleSorts { CREATED_AT_ASC CREATED_AT_DESC ELIGIBLE_SALE_ARTWORKS_COUNT_ASC ELIGIBLE_SALE_ARTWORKS_COUNT_DESC END_AT_ASC END_AT_DESC LICENSED_TIMELY_AT_NAME_DESC NAME_ASC NAME_DESC START_AT_ASC START_AT_DESC TIMELY_AT_NAME_ASC TIMELY_AT_NAME_DESC _ID_ASC _ID_DESC } input SaveArtworkInput { artworkID: String clientMutationId: String remove: Boolean } type SaveArtworkPayload { artwork: Artwork clientMutationId: String me: Me! } """ A connection to a list of items. """ type SavedArtworksConnection { default: Boolean! description: String! """ A list of edges. """ edges: [SavedArtworksEdge] name: String! pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! private: Boolean! totalCount: Int } """ An edge in a connection. """ type SavedArtworksEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: Artwork } enum SearchAggregation { TYPE } """ The results for a requested aggregations """ type SearchAggregationResults { counts: [AggregationCount] slice: SearchAggregation } enum SearchCriteriaFields { acquireable additionalGeneIDs artistIDs artistSeriesIDs atAuction attributionClass colors height inquireableOnly locationCities majorPeriods materialsTerms offerable partnerIDs priceRange sizes width } """ Human-friendly representation of a single SearchCriteria filter """ type SearchCriteriaLabel { """ The human-friendly label of the filter facet """ displayValue: String! """ The GraphQL field name of the filter facet """ field: String! """ The human-friendly name of the filter facet """ name: String! """ The value of the filter facet """ value: String! } type SearchDropdown { """ Artists and artworks trending on Artsy over a rolling window, ranked by search and view activity. """ trending(period: TrendingSearchPeriod = ONE_DAY): TrendingSearches } enum SearchEntity { ARTICLE ARTIST ARTIST_SERIES ARTWORK CITY COLLECTION FAIR FEATURE GALLERY GENE INSTITUTION PAGE PROFILE SALE SHOW TAG VIDEO VIEWING_ROOM } """ A highlighted field from an OpenSearch query match, containing the field name and highlighted fragments with tags around matched terms """ type SearchHighlight { """ The base field name that matched (e.g. name, alternate_names, artist_names, venue, description) """ field: String! """ Highlighted text fragments with tags wrapping matched terms """ fragments: [String!]! } enum SearchMode { AUTOSUGGEST INTERNAL_AUTOSUGGEST SITE } """ An object that may be searched for """ interface Searchable { displayLabel: String href: String imageUrl: String } """ A connection to a list of items. """ type SearchableConnection { """ Returns aggregation counts for the given filter query. """ aggregations: [SearchAggregationResults] """ A list of edges. """ edges: [SearchableEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type SearchableEdge { """ A cursor for use in pagination """ cursor: String! """ Server-side search highlights from OpenSearch indicating which fields matched and where """ highlights: [SearchHighlight!]! """ The item at the end of the edge """ node: Searchable } type SearchableItem implements Node & Searchable { description: String displayLabel: String displayType: String href: String """ A globally unique ID. """ id: ID! imageUrl: String """ A type-specific ID likely used as a database ID. """ internalID: ID! """ A slug ID. """ slug: ID! } interface SecondFactor { disabledAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String enabled: Boolean! enabledAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ A type-specific Gravity Mongo Document ID. """ internalID: ID! kind: SecondFactorKind! } enum SecondFactorKind { app backup sms } union SecondFactorOrErrorsUnion = AppSecondFactor | Errors | SmsSecondFactor """ A piece that can be sold """ interface Sellable { availability: String dimensions: dimensions displayLabel: String displayPriceRange: Boolean editionOf: String """ A globally unique ID. """ id: ID! internalDisplayPrice: String """ A type-specific ID likely used as a database ID. """ internalID: ID! """ Whether a piece can be purchased through e-commerce """ isAcquireable: Boolean isForSale: Boolean isInAuction: Boolean isInquireable: Boolean """ Whether a user can make an offer on the work """ isOfferable: Boolean """ Whether a user can make an offer on the work through inquiry """ isOfferableFromInquiry: Boolean isPriceHidden: Boolean isSold: Boolean listPrice: ListPrice """ In CMS, has the artwork been marked as BNMO? """ listingOptions: ArtworkListingOptions priceListed: Money published: Boolean saleMessage: String } union SellerType = Partner type SendConfirmationEmailMutationFailure { mutationError: GravityMutationError } input SendConfirmationEmailMutationInput { clientMutationId: String } type SendConfirmationEmailMutationPayload { clientMutationId: String confirmationOrError: SendConfirmationEmailMutationType } type SendConfirmationEmailMutationSuccess { confirmationSentAt: String unconfirmedEmail: String } union SendConfirmationEmailMutationType = SendConfirmationEmailMutationFailure | SendConfirmationEmailMutationSuccess input SendConversationMessageMutationInput { """ Attachments to the message """ attachments: [ConversationMessageAttachmentInput!] """ Message body (html) """ bodyHTML: String """ Message body (text) """ bodyText: String! clientMutationId: String """ Optional ID of the template version used to send this message """ conversationMessageTemplateVersionId: String """ Sender email, optionally including display string (like 'Jane Doe '). """ from: String! """ Sender user id """ fromId: String """ The id of the conversation to be updated """ id: String! """ Reply to all """ replyAll: Boolean = true """ The message being replied to """ replyToMessageID: String! """ Recepients emails. """ to: [String] } type SendConversationMessageMutationPayload { clientMutationId: String conversation: Conversation messageEdge: MessageEdge } type SendFeedbackMutationFailure { mutationError: GravityMutationError } input SendFeedbackMutationInput { clientMutationId: String """ Email to associate with message (only used if logged out). """ email: String """ Message to be sent. """ message: String! """ Name to associate with message (only used if logged out). """ name: String """ URL of page where feedback originated. """ url: String } type SendFeedbackMutationPayload { clientMutationId: String feedbackOrError: SendFeedbackMutationType } type SendFeedbackMutationSuccess { feedback: Feedback } union SendFeedbackMutationType = SendFeedbackMutationFailure | SendFeedbackMutationSuccess input SendIdentityVerificationEmailMutationInput { clientMutationId: String """ The email for the user undergoing identity verification """ email: String """ The ID of the user (self or admin) who initiated the IDV process """ initiatorID: String """ The name to be used for the user undergoing identity verification """ name: String """ The ID of the order where the IDV process was initiated """ orderID: String """ The ID of the sale where the IDV process was initiated """ saleID: String """ Whether an automated identity verification is sent or not """ sendEmail: Boolean """ The user Id for the user undergoing identity verification """ userID: String } type SendIdentityVerificationEmailMutationPayload { clientMutationId: String confirmationOrError: IdentityVerificationEmailMutationType } type Services { convection: ConvectionService! metaphysics: MetaphysicsService! } """ Shipping line """ type ShippingLine { """ The monetary amount for the line """ amount: Money """ Fallback text if no monetary amount is available """ amountFallbackText: String """ Display name of the shipping line """ displayName: String! } type ShippingPreset implements Node { createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ Domestic shipping fee in cents """ domesticShippingFeeCents: Int """ The type of domestic shipping option """ domesticType: DomesticType """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! """ International shipping fee in cents """ internationalShippingFeeCents: Int """ The type of international shipping option """ internationalType: InternationalType """ The name of the shipping preset """ name: String! """ The ID of the partner this shipping preset belongs to """ partnerID: String! """ Whether pickup is available """ pickupAvailable: Boolean """ Currency of the shipping fee """ priceCurrency: String } """ A connection to a list of items. """ type ShippingPresetConnection { """ A list of edges. """ edges: [ShippingPresetEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type ShippingPresetEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: ShippingPreset } type Shortcut { """ A globally unique ID. """ id: ID! """ A type-specific ID. """ internalID: ID! long: String! short: String! } type Show implements EntityWithFilterArtworksConnectionInterface & Node { """ The Artists presenting in this show """ artists: [Artist] """ Connection of Artists included in the show """ artistsConnection( after: String before: String first: Int last: Int ): ArtistConnection """ Artists in the show grouped by last name """ artistsGroupedByName: [ArtistGroup] """ Artists inside the show who do not have artworks present """ artistsWithoutArtworks: [Artist] """ The artworks featured in the show. """ artworksConnection( after: String before: String """ List of artwork IDs to exclude from the response (irrespective of size) """ exclude: [String] first: Int forSale: Boolean = false last: Int published: Boolean = true ): ArtworkConnection """ The total count of artworks, both unpublished and published, in a show """ artworksCount: Int cached: Int """ The general city, derived from a fair location, a show location or a potential city """ city: String """ An object that represents some of the numbers you might want to highlight """ counts: ShowCounts """ The image you should use to represent this show """ coverImage: Image createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ A description of the show """ description: String """ Retrieve all documents for this show """ documentsConnection( after: String before: String first: Int last: Int ): PartnerDocumentConnection endAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ Events from the partner that runs this show """ events: [ShowEventType] """ Connection of events attached to the show """ eventsConnection( after: String before: String first: Int last: Int ): ShowEventConnection """ A formatted description of the start to end dates """ exhibitionPeriod( """ Formatting option to apply to exhibition period """ format: ExhibitionPeriodFormat = LONG ): String """ If the show is in a Fair, then that fair """ fair: Fair """ Artworks Elastic Search results """ filterArtworksConnection( acquireable: Boolean additionalGeneIDs: [String] after: String aggregationPartnerCities: [String] aggregations: [ArtworkAggregation] artistID: String artistIDs: [String] artistNationalities: [String] artistSeriesID: String artistSeriesIDs: [String] artsyListing: Boolean """ When provided, will only return artworks with these IDs. """ artworkIDs: [String] atAuction: Boolean attributionClass: [String] availability: String before: String categories: [String] """ Filter by certificate of authenticity. Accepted values: gallery, authenticating_body, no. """ certificateOfAuthenticity: String color: String colors: [String] """ Filter by artwork completeness tiers. Accepts multiple values. """ completenessTier: [String] """ When true, will only return artworks carrying the Curators' Pick collector signal. Cannot be combined with `marketingCollectionID`. """ curatorsPick: Boolean dimensionRange: String """ When true, will skip pushing sold works to the back of the list. Useful in a CMS context. """ disableNotForSaleSorting: Boolean excludeArtworkIDs: [String] extraAggregationGeneIDs: [String] first: Int forSale: Boolean """ When true, will only return framed artworks. """ framed: Boolean geneID: String geneIDs: [String] height: String """ Hybrid only: how many candidates the semantic arm retrieves. Higher = wider semantic net. """ hybridNeuralK: Int """ Hybrid only: results each arm contributes to the blend; must be ≥ from + page size. Caps pagination depth. """ hybridPaginationDepth: Int """ Hybrid only: [lexical, neural] balance when blending scores, e.g. [0.5,0.5] equal, [0.3,0.7] favors semantic. """ hybridWeights: [Float!] importSources: [String] includeAllJSON: Boolean includeArtworksByFollowedArtists: Boolean includeMediumFilterInAggregation: Boolean """ Include artworks not listed on Artsy (artsy_listing: false). """ includeNonArtsyListed: Boolean includeUnpublished: Boolean """ When true, will only return artworks carrying the Increased Interest collector signal. """ increasedInterest: Boolean input: FilterArtworksInput inquireableOnly: Boolean keyword: String """ When true, will only return exact keyword match """ keywordMatchExact: Boolean """ When true and a `keyword` search returns no results, retries once with typo tolerance. Ignored with `keywordMatchExact`. """ keywordTypoTolerance: Boolean last: Int locationCities: [String] locationId: String majorPeriods: [String] """ When true, will only return `marketable` works (not nude or provocative). """ marketable: Boolean marketingCollectionID: String materialsTerms: [String] """ A string from the list of allocations, or * to denote all mediums """ medium: String offerable: Boolean page: Int partnerCities: [String] partnerID: ID partnerIDs: [String] partnerListID: String period: String periods: [String] priceRange: String """ When false, will only return unpublished artworks for authorized users. """ published: Boolean saleID: ID showID: String """ When true, will only return signed artworks. """ signed: Boolean size: Int """ Filter results by Artwork sizes """ sizes: [ArtworkSizes] sold: Boolean sort: String tagID: String """ Search strategy. 'hybrid' blends semantic (meaning-based) results into the keyword search. Requires a keyword; team-only. """ variant: String viewingRoomID: ID visibilityLevel: String width: String ): FilterArtworksConnection """ A Connection of followed artists by current user for this show """ followedArtistsConnection( after: String before: String first: Int last: Int ): ShowFollowArtistConnection """ Flag showing if show has any location. """ hasLocation: Boolean """ A path to the show on Artsy """ href: String """ A globally unique ID. """ id: ID! """ Images that represent the show, you may be interested in meta_image or cover_image for a definitive thumbnail """ images( """ Pass true/false to include cover or not """ default: Boolean page: Int """ Number of images to return """ size: Int ): [Image] imagesConnection( after: String before: String first: Int """ When false, will exclude the cover image from the results """ isDefault: Boolean last: Int ): ImageConnection """ A type-specific ID likely used as a database ID. """ internalID: ID! """ Gravity doesn’t expose the `active` flag. Temporarily re-state its logic. """ isActive: Boolean """ Is this something we can display to the front-end? """ isDisplayable: Boolean """ Should this show be displayed on the partner profile page? """ isDisplayableOnPartnerProfile: Boolean """ Does the show exist as a fair booth? """ isFairBooth: Boolean isFeatured: Boolean """ Is the user following this show """ isFollowed: Boolean """ Does the show exist soley online """ isOnlineExclusive: Boolean! """ Is it a show provided for historical reference? """ isReference: Boolean """ Is it an outsourced local discovery stub show? """ isStubShow: Boolean """ Whether the show is in a fair, group or solo """ kind: String """ Where the show is located (Could also be a fair location) """ location: Location """ An image representing the show, or a sharable image from an artwork in the show """ metaImage: Image """ The exhibition title """ name: String """ Shows that are near (~75km) from this show """ nearbyShowsConnection( after: String before: String """ Whether to include local discovery stubs as well as displayable shows """ discoverable: Boolean first: Int last: Int sort: ShowSorts """ By default show only current shows """ status: EventStatus = CURRENT ): ShowConnection """ Alternate Markdown-supporting free text representation of the opening reception event’s date/time """ openingReceptionText: String """ The partner that represents this show, could be a non-Artsy partner """ partner: PartnerTypes """ The press release for this show """ pressRelease(format: Format): String """ Link to the press release for this show """ pressReleaseUrl: String """ A slug ID. """ slug: ID! """ When this show starts """ startAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ Is this show running, upcoming or closed? """ status: String """ A formatted update on upcoming status changes """ statusUpdate( """ Before this many days no update will be generated """ maxDays: Int ): String """ Is it a fair booth or a show? """ type: String viewingRoomIDs: [String!]! viewingRoomsConnection( after: String before: String first: Int last: Int statuses: [ViewingRoomStatusEnum!] ): ViewingRoomsConnection } type ShowArtworkGrid implements ArtworkContextGrid { artworksConnection( after: String before: String first: Int last: Int ): ArtworkConnection ctaHref: String ctaTitle: String title: String } """ A connection to a list of items. """ type ShowConnection { """ A list of edges. """ edges: [ShowEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } type ShowCounts { artists: Int artworks( """ The slug or ID of an artist in the show. """ artistID: String ): Int eligibleArtworks( """ Returns a `String` when format is specified. e.g.`'0,0.0000''` """ format: String label: String ): FormattedNumber publishedArtworks: Int unpublishedArtworks: Int } """ An edge in a connection. """ type ShowEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: Show } """ A connection to a list of items. """ type ShowEventConnection { """ A list of edges. """ edges: [ShowEventEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type ShowEventEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: ShowEventType } type ShowEventType { """ A formatted description of the dates with hours """ dateTimeRange: String description: String endAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String eventType: String """ A formatted description of the start to end dates """ exhibitionPeriod( """ Formatting option to apply to exhibition period """ format: ExhibitionPeriodFormat = LONG ): String """ A formatted description of the time zone """ formattedTimeZone: String """ A globally unique ID. """ id: ID! """ A type-specific Gravity Mongo Document ID. """ internalID: ID! startAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String timeZone: String title: String } type ShowFollowArtist { artist: Artist } """ A connection to a list of items. """ type ShowFollowArtistConnection { """ A list of edges. """ edges: [ShowFollowArtistEdge] """ Information to aid in pagination. """ pageInfo: PageInfo! } """ An edge in a connection. """ type ShowFollowArtistEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: ShowFollowArtist } type ShowOpenedNotificationItem { partner: Partner showsConnection( after: String before: String first: Int last: Int ): ShowConnection } enum ShowSorts { CREATED_AT_DESC END_AT_ASC END_AT_DESC FEATURED_ASC FEATURED_DESC FEATURED_DESC_END_AT_DESC NAME_ASC NAME_DESC PARTNER_ASC SORTABLE_NAME_ASC SORTABLE_NAME_DESC START_AT_ASC START_AT_DESC UPDATED_AT_ASC UPDATED_AT_DESC } type SmsSecondFactor implements SecondFactor { countryCode: String disabledAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String enabled: Boolean! enabledAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String formattedPhoneNumber: String """ A type-specific Gravity Mongo Document ID. """ internalID: ID! kind: SecondFactorKind! phoneNumber: String } input SmsSecondFactorAttributes { countryCode: String phoneNumber: String } union SmsSecondFactorOrErrorsUnion = Errors | SmsSecondFactor type SpecialistBio { bio: String! email: String! firstName: String! image: Image! jobTitle: String! name: String! } type StartIdentityVerificationFailure { mutationError: GravityMutationError } union StartIdentityVerificationResponseOrError = StartIdentityVerificationFailure | StartIdentityVerificationSuccess type StartIdentityVerificationSuccess { """ URL that hosts the user-facing identity verification flow (Jumio) """ identityVerificationFlowUrl: String """ Primary ID of the started identity verification """ identityVerificationId: String } type StaticContent { content(format: Format): String """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! name: String """ A slug ID. """ slug: ID! """ A list of specialists """ specialistBios: [SpecialistBio!] } enum SubGroupInputStatus { SUBSCRIBED UNSUBSCRIBED } enum SubGroupStatus { SUBSCRIBED UNSUBSCRIBED } """ An edge in a connection. """ type SubmissionEdge { """ A cursor for use in pagination. """ cursor: String! """ The item at the end of the edge. """ node: ConsignmentSubmission } input SubmitInquiryRequestMutationInput { clientMutationId: String """ Whether or not to contact the gallery (for instance, for specialist questions) """ contactGallery: Boolean """ The inquireable object id (Artwork ID or Show ID) """ inquireableID: String! """ The type of inquireable object (Artwork or Show) """ inquireableType: String! """ Optional inquiry message """ message: String """ List of structured inquiry questions """ questions: [InquiryQuestionInput] } type SubmitInquiryRequestMutationPayload { clientMutationId: String """ Artwork Inquiry request """ inquiryRequest: InquiryRequest } type SubmittedPriceEstimateParams { """ Artwork ID submitted for estimate """ artworkId: String! """ Email of the requester """ requesterEmail: String """ Name of the requester """ requesterName: String """ Phone number of the requester """ requesterPhoneNumber: String } type Subscription { aiAgentTurn(input: AIAgentTurnInput!): AIAgentEvent } """ Subtotal line """ type SubtotalLine { """ The monetary amount for the line """ amount: Money """ Fallback text if no monetary amount is available """ amountFallbackText: String """ Display name of the subtotal line """ displayName: String! } type SuggestedAddress { addressLine1: String! addressLine2: String city: String! country: String! postalCode: String! region: String } type SuggestedAddressFields { address: SuggestedAddress lines: [String] } type SyncCatalogToArtworkFailure { mutationError: GravityMutationError } input SyncCatalogToArtworkMutationInput { """ The ID of the artwork to sync. """ artworkID: String! clientMutationId: String """ Edition set ID. When provided, syncs the catalog edition set to the edition set instead of the artwork. """ editionSetID: String """ Specific fields to sync. Omit to sync all. """ fields: [CatalogSyncableField] } type SyncCatalogToArtworkMutationPayload { """ On success: the synced artwork and any partial errors. On error: the error that occurred. """ artworkOrError: SyncCatalogToArtworkResponseOrError clientMutationId: String } union SyncCatalogToArtworkResponseOrError = SyncCatalogToArtworkFailure | SyncCatalogToArtworkSuccess type SyncCatalogToArtworkSuccess { artwork: Artwork syncErrors: [String] syncedFields: [String] } type System { """ Deprecated Algolia fields, temporarily kept for legacy compatibility """ algolia: Algolia @deprecated(reason: "Algolia search is no longer supported") """ Creates, and authorizes, a JWT custom for Causality """ causalityJWT( """ """ role: LiveAuctionRole """ The id of the auction to participate in """ saleID: String! ): String request: Request """ The schema for difference micro-service settings """ services: Services """ Core system time, helpful for reliable times on clients. """ time: SystemTime """ List of all available product privileges """ userRoles: [UserRole!]! } type SystemTime { day: Int hour: Int iso8601: String min: Int month: Int sec: Int unix: Int wday: Int year: Int } type Tag implements Node { cached: Int count: Int description: String """ Artworks Elastic Search results """ filterArtworksConnection( acquireable: Boolean additionalGeneIDs: [String] after: String aggregationPartnerCities: [String] aggregations: [ArtworkAggregation] artistID: String artistIDs: [String] artistNationalities: [String] artistSeriesID: String artistSeriesIDs: [String] artsyListing: Boolean """ When provided, will only return artworks with these IDs. """ artworkIDs: [String] atAuction: Boolean attributionClass: [String] availability: String before: String categories: [String] """ Filter by certificate of authenticity. Accepted values: gallery, authenticating_body, no. """ certificateOfAuthenticity: String color: String colors: [String] """ Filter by artwork completeness tiers. Accepts multiple values. """ completenessTier: [String] """ When true, will only return artworks carrying the Curators' Pick collector signal. Cannot be combined with `marketingCollectionID`. """ curatorsPick: Boolean dimensionRange: String """ When true, will skip pushing sold works to the back of the list. Useful in a CMS context. """ disableNotForSaleSorting: Boolean excludeArtworkIDs: [String] extraAggregationGeneIDs: [String] first: Int forSale: Boolean """ When true, will only return framed artworks. """ framed: Boolean geneID: String geneIDs: [String] height: String """ Hybrid only: how many candidates the semantic arm retrieves. Higher = wider semantic net. """ hybridNeuralK: Int """ Hybrid only: results each arm contributes to the blend; must be ≥ from + page size. Caps pagination depth. """ hybridPaginationDepth: Int """ Hybrid only: [lexical, neural] balance when blending scores, e.g. [0.5,0.5] equal, [0.3,0.7] favors semantic. """ hybridWeights: [Float!] importSources: [String] includeAllJSON: Boolean includeArtworksByFollowedArtists: Boolean includeMediumFilterInAggregation: Boolean """ Include artworks not listed on Artsy (artsy_listing: false). """ includeNonArtsyListed: Boolean includeUnpublished: Boolean """ When true, will only return artworks carrying the Increased Interest collector signal. """ increasedInterest: Boolean input: FilterArtworksInput inquireableOnly: Boolean keyword: String """ When true, will only return exact keyword match """ keywordMatchExact: Boolean """ When true and a `keyword` search returns no results, retries once with typo tolerance. Ignored with `keywordMatchExact`. """ keywordTypoTolerance: Boolean last: Int locationCities: [String] locationId: String majorPeriods: [String] """ When true, will only return `marketable` works (not nude or provocative). """ marketable: Boolean marketingCollectionID: String materialsTerms: [String] """ A string from the list of allocations, or * to denote all mediums """ medium: String offerable: Boolean page: Int partnerCities: [String] partnerID: ID partnerIDs: [String] partnerListID: String period: String periods: [String] priceRange: String """ When false, will only return unpublished artworks for authorized users. """ published: Boolean saleID: ID showID: String """ When true, will only return signed artworks. """ signed: Boolean size: Int """ Filter results by Artwork sizes """ sizes: [ArtworkSizes] sold: Boolean sort: String tagID: String """ Search strategy. 'hybrid' blends semantic (meaning-based) results into the keyword search. Requires a keyword; team-only. """ variant: String viewingRoomID: ID visibilityLevel: String width: String ): FilterArtworksConnection href: String """ A globally unique ID. """ id: ID! image: Image """ A type-specific ID likely used as a database ID. """ internalID: ID! name: String """ A slug ID. """ slug: ID! } type TargetSupply { microfunnel: [TargetSupplyMicrofunnelItem] } type TargetSupplyMicrofunnelItem { artist: Artist """ A list of recently sold artworks. """ artworksConnection( after: String before: String first: Int last: Int """ Randomize the order of artworks for display purposes. """ randomize: Boolean ): ArtworkConnection metadata: TargetSupplyMicrofunnelMetadata } type TargetSupplyMicrofunnelMetadata { highestRealized: String realized: String recentlySoldArtworkIDs: [String] roundedUniqueVisitors: String roundedViews: String str: String uniqueVisitors: String views: String } type Task implements Node { actionLink: String! createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String dismissedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String expiresAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ A globally unique ID. """ id: ID! imageUrl: String! """ A type-specific ID. """ internalID: ID! message: String! resolvedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String sourceId: String sourceType: String taskType: String! title: String! } """ A connection to a list of items. """ type TaskConnection { """ A list of edges. """ edges: [TaskEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type TaskEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: Task } type TaxInfo { displayText: String! moreInfo: TaxMoreInfo! } """ Tax line """ type TaxLine { """ The monetary amount for the line """ amount: Money """ Fallback text if no monetary amount is available """ amountFallbackText: String """ Display name of the tax line """ displayName: String! } type TaxMoreInfo { displayText: String! url: String! } """ Total line """ type TotalLine { """ The monetary amount for the line """ amount: Money """ Fallback text if no monetary amount is available """ amountFallbackText: String """ Display name of the total line """ displayName: String! } input TransferMyCollectionInput { clientMutationId: String """ ID of the source user. """ idFrom: String """ ID of the destination user. """ idTo: String } type TransferMyCollectionPayload { artworkCountOrError: TransferMyCollectionSuccessOrErrorsUnion! clientMutationId: String } type TransferMyCollectionSuccess { """ Number of transferred artworks. """ count: Int! } union TransferMyCollectionSuccessOrErrorsUnion = Errors | TransferMyCollectionSuccess type TrendingArtists { artists: [Artist] } type TrendingSearchArtist { artist: Artist internalID: String! rank: Int! } type TrendingSearchArtwork { artwork: Artwork internalID: String! rank: Int! } """ The rolling window a trending ranking was computed over. """ enum TrendingSearchPeriod { ONE_DAY SEVEN_DAYS THIRTY_DAYS } """ Trending artists and artworks over a rolling window. """ type TrendingSearches { artists( """ Limits the number of results returned. """ first: Int ): [TrendingSearchArtist!] artworks( """ Limits the number of results returned. """ first: Int ): [TrendingSearchArtwork!] label: String! period: TrendingSearchPeriod! } enum TriggerCampaignID { ART_QUIZ } input TriggerCampaignInput { campaignID: TriggerCampaignID! clientMutationId: String } type TriggerCampaignMutationFailure { message: String! mutationError: GravityMutationError statusCode: Int } type TriggerCampaignMutationSuccess { message: String! statusCode: Int success: Boolean } union TriggerCampaignMutationSuccessOrError = TriggerCampaignMutationFailure | TriggerCampaignMutationSuccess type TriggerCampaignPayload { clientMutationId: String successOrError: TriggerCampaignMutationSuccessOrError } type USBankAccount { """ The name of the bank. """ bankName: String! """ The last 4 digits of the bank account. """ last4: String! } union UnderlyingCurrentEvent = Sale | Show input UnlinkAuthenticationMutationInput { clientMutationId: String provider: AuthenticationProvider! } type UnlinkAuthenticationMutationPayload { clientMutationId: String me: Me! } type UnpublishPartnerListPublicationFailure { mutationError: GravityMutationError } input UnpublishPartnerListPublicationMutationInput { clientMutationId: String """ The ID of the partner list to unpublish. """ partnerListID: String! } type UnpublishPartnerListPublicationMutationPayload { clientMutationId: String """ On success: the unpublished partner list publication. On error: the error that occurred. """ partnerListPublicationOrError: UnpublishPartnerListPublicationResponseOrError } union UnpublishPartnerListPublicationResponseOrError = UnpublishPartnerListPublicationFailure | UnpublishPartnerListPublicationSuccess type UnpublishPartnerListPublicationSuccess { partnerListPublication: PartnerListPublication } type UnpublishViewingRoomFailure { mutationError: GravityMutationError } input UnpublishViewingRoomInput { clientMutationId: String viewingRoomID: ID! } type UnpublishViewingRoomPayload { clientMutationId: String viewingRoom: ViewingRoom @deprecated( reason: "Use viewingRoomOrError instead for proper error handling" ) """ On success: the unpublished viewing room. On error: the error that occurred. """ viewingRoomOrError: UnpublishViewingRoomResponseOrError } union UnpublishViewingRoomResponseOrError = UnpublishViewingRoomFailure | UnpublishViewingRoomSuccess type UnpublishViewingRoomSuccess { viewingRoom: ViewingRoom! } type UpdateAlertFailure { mutationError: GravityMutationError } union UpdateAlertResponseOrError = UpdateAlertFailure | UpdateAlertSuccess type UpdateAlertSuccess { alert: Alert } input UpdateAppSecondFactorInput { attributes: AppSecondFactorAttributes! clientMutationId: String secondFactorID: ID! } type UpdateAppSecondFactorPayload { clientMutationId: String secondFactorOrErrors: AppSecondFactorOrErrorsUnion! } type UpdateArtistFailure { mutationError: GravityMutationError } input UpdateArtistMutationInput { alternateNames: [String!] awards: String biennials: String birthday: String blurb: String clientMutationId: String coverArtworkId: String criticallyAcclaimed: Boolean deathday: String displayName: String first: String foundations: String gender: String groupIndicator: ArtistGroupIndicator hometown: String id: String! """ Artist's Instagram handle. A leading @ or a profile URL is accepted. """ instagramHandle: String last: String location: String middle: String nationality: String public: Boolean recentShow: String residencies: String reviewSources: String targetSupplyPriority: ArtistTargetSupplyPriority targetSupplyType: ArtistTargetSupplyType vanguardYear: String } type UpdateArtistMutationPayload { """ On success: the updated artist """ artistOrError: UpdateArtistResponseOrError clientMutationId: String } union UpdateArtistResponseOrError = UpdateArtistFailure | UpdateArtistSuccess type UpdateArtistSuccess { artist: Artist } input UpdateArtworkEditionSetInput { """ Additional information about the artwork """ additionalInformation: String artistProofs: String """ Whether the artwork is listed on Artsy """ artsyListing: Boolean """ The availability of the artwork """ availability: String """ Whether the artwork has a certificate of authenticity """ certificateOfAuthenticity: Boolean """ Whether the certificate of authenticity is issued by an authenticating body """ coaByAuthenticatingBody: Boolean """ Whether the certificate of authenticity is issued by the gallery """ coaByGallery: Boolean """ The ID of the image to set as the default for this artwork """ defaultImageID: String delete: Boolean """ The depth of the artwork """ depth: String """ The diameter of the artwork """ diameter: String """ Show/Hide the price range of an artwork """ displayPriceRange: Boolean """ True for `Buy Now` edition sets """ ecommerce: Boolean editionSize: String framed: Boolean framedDepth: String framedDiameter: String framedHeight: String framedMetric: String framedWidth: String """ The height of the artwork """ height: String """ The id of the edition set to update. Omit to create a new edition set. """ id: String """ The inventory count """ inventoryCount: Int """ The unit of measurement for artwork dimensions """ metric: String """ True for `Make Offer` artworks """ offer: Boolean partnerLocationId: String priceCurrency: String """ Show/Hide the price of an artwork """ priceHidden: Boolean priceIncludesTax: Boolean """ The price of the artwork """ priceListed: String priceMax: Int priceMin: Int published: Boolean shippingWeight: Float shippingWeightMetric: String """ The size type, e.g. "hwd" or "diameter". """ sizeType: String title: String """ The width of the artwork """ width: String } type UpdateArtworkImportFailure { mutationError: GravityMutationError } input UpdateArtworkImportInput { artworkImportID: String! clientMutationId: String """ Currency to set for all rows in the import """ currency: String """ Dimension metric to set for all rows in the import """ dimensionMetric: String """ Preferred location ID for the artwork import """ locationID: String """ Status to update the import to (e.g., 'cancelled') """ status: String """ Weight metric to set for all rows in the import """ weightMetric: String } type UpdateArtworkImportPayload { clientMutationId: String updateArtworkImportOrError: UpdateArtworkImportResponseOrError } union UpdateArtworkImportResponseOrError = UpdateArtworkImportFailure | UpdateArtworkImportSuccess type UpdateArtworkImportRowFailure { mutationError: GravityMutationError } type UpdateArtworkImportRowImagesFailure { mutationError: GravityMutationError } input UpdateArtworkImportRowImagesInput { artworkImportID: String! clientMutationId: String """ The ID of the row to update images for """ rowID: String! """ Array of image IDs in desired position order """ sortedImageIDs: [String!]! } type UpdateArtworkImportRowImagesPayload { clientMutationId: String updateArtworkImportRowImagesOrError: UpdateArtworkImportRowImagesResponseOrError } union UpdateArtworkImportRowImagesResponseOrError = UpdateArtworkImportRowImagesFailure | UpdateArtworkImportRowImagesSuccess type UpdateArtworkImportRowImagesSuccess { artworkImport: ArtworkImport artworkImportID: String! } input UpdateArtworkImportRowInput { """ Artist IDs to assign directly, skipping name matching. Use when the frontend has already resolved artist identities. """ artistIDs: [String!] artworkImportID: String! clientMutationId: String """ Whether to exclude this row from import """ excludedFromImport: Boolean """ Name of the field to update """ fieldName: String """ New value for the field """ fieldValue: String rowID: String! } type UpdateArtworkImportRowPayload { clientMutationId: String updateArtworkImportRowOrError: UpdateArtworkImportRowResponseOrError } union UpdateArtworkImportRowResponseOrError = UpdateArtworkImportRowFailure | UpdateArtworkImportRowSuccess type UpdateArtworkImportRowSuccess { artworkImport: ArtworkImport artworkImportID: String! } type UpdateArtworkImportSuccess { artworkImport: ArtworkImport } input UpdateArtworkMutationInput { """ Additional information about the artwork """ additionalInformation: String """ List of artist IDs for the artwork """ artistIds: [String!] artistProofs: String """ Whether the artwork is listed on Artsy """ artsyListing: Boolean """ The attribution class of the artwork """ attributionClass: ArtworkAttributionClassType """ The availability of the artwork """ availability: String """ Whether the artwork has a certificate of authenticity """ certificateOfAuthenticity: Boolean clientMutationId: String """ Whether the certificate of authenticity is issued by an authenticating body """ coaByAuthenticatingBody: Boolean """ Whether the certificate of authenticity is issued by the gallery """ coaByGallery: Boolean """ The date or year of the artwork """ date: String """ The ID of the image to set as the default for this artwork """ defaultImageID: String delete: Boolean """ The depth of the artwork """ depth: String """ The diameter of the artwork """ diameter: String """ Show/Hide the price range of an artwork """ displayPriceRange: Boolean """ True for `Buy Now` edition sets """ ecommerce: Boolean """ A list of edition sets for the artwork """ editionSets: [UpdateArtworkEditionSetInput] editionSize: String framed: Boolean framedDepth: String framedDiameter: String framedHeight: String framedMetric: String framedWidth: String """ The height of the artwork """ height: String """ The id of the artwork to update. """ id: String! """ A list of S3 locations (bucket and key pairs) for artwork images to be added. """ imageS3Locations: [S3LocationInput!] """ The inventory count """ inventoryCount: Int """ The inventory ID of the artwork """ inventoryId: String """ The medium type (category) of the artwork """ mediumType: String """ The unit of measurement for artwork dimensions """ metric: String """ True for `Make Offer` artworks """ offer: Boolean partnerLocationId: String priceCurrency: String """ Show/Hide the price of an artwork """ priceHidden: Boolean priceIncludesTax: Boolean """ The price of the artwork """ priceListed: String priceMax: Int priceMin: Int """ The provenance of the artwork """ provenance: String published: Boolean shippingWeight: Float shippingWeightMetric: String """ The size type, e.g. "hwd" or "diameter". """ sizeType: String title: String """ The width of the artwork """ width: String } type UpdateArtworkMutationPayload { """ On success: the artwork updated. """ artworkOrError: updateArtworkResponseOrError clientMutationId: String } type UpdateBrandKitFailure { mutationError: GravityMutationError } input UpdateBrandKitInput { """ Background color hex code (e.g. #FF0000) """ backgroundColor: String clientMutationId: String """ CTA color hex code (e.g. #FF0000) """ ctaColor: String """ Font family name """ fontFamily: String """ Font style """ fontStyle: String """ Font weight """ fontWeight: String """ The internal ID of the brand kit to update """ id: String! """ Text color hex code (e.g. #FF0000) """ textColor: String } type UpdateBrandKitLogoFailure { mutationError: GravityMutationError } input UpdateBrandKitLogoInput { clientMutationId: String """ The internal ID of the brand kit """ id: String! """ S3 bucket containing the logo image to upload """ remoteImageS3Bucket: String! """ S3 key of the logo image to upload """ remoteImageS3Key: String! } type UpdateBrandKitLogoPayload { """ On success: the brand kit with the updated logo """ brandKitOrError: UpdateBrandKitLogoResponseOrError clientMutationId: String } union UpdateBrandKitLogoResponseOrError = UpdateBrandKitLogoFailure | UpdateBrandKitLogoSuccess type UpdateBrandKitLogoSuccess { brandKit: BrandKit } type UpdateBrandKitPayload { """ On success: the updated brand kit """ brandKitOrError: UpdateBrandKitResponseOrError clientMutationId: String } union UpdateBrandKitResponseOrError = UpdateBrandKitFailure | UpdateBrandKitSuccess type UpdateBrandKitSuccess { brandKit: BrandKit } type UpdateCMSLastAccessTimestampFailure { mutationError: GravityMutationError } input UpdateCMSLastAccessTimestampMutationInput { clientMutationId: String """ The id of the partner to update. """ id: String! } type UpdateCMSLastAccessTimestampMutationPayload { clientMutationId: String """ On success: the updated partner. On error: the error that occurred. """ partnerOrError: UpdateCMSLastAccessTimestampResponseOrError } union UpdateCMSLastAccessTimestampResponseOrError = UpdateCMSLastAccessTimestampFailure | UpdateCMSLastAccessTimestampSuccess type UpdateCMSLastAccessTimestampSuccess { partner: Partner } type UpdateCareerHighlightFailure { mutationError: GravityMutationError } input UpdateCareerHighlightInput { clientMutationId: String collected: Boolean group: Boolean id: String! solo: Boolean } type UpdateCareerHighlightPayload { """ On success: updated Artist Career Highlight. """ careerHighlightOrError: UpdateCareerHighlightsSuccessResponseOrError clientMutationId: String } type UpdateCareerHighlightSuccess { careerHighlight: CareerHighlight } union UpdateCareerHighlightsSuccessResponseOrError = UpdateCareerHighlightFailure | UpdateCareerHighlightSuccess type UpdateCatalogArtworkFailure { mutationError: GravityMutationError } input UpdateCatalogArtworkInput { """ The ID (slug) of the artwork. """ artworkID: String! """ Availability of the artwork. """ availability: String clientMutationId: String """ Medium of the artwork. """ medium: String """ Price currency (ISO 4217). """ priceCurrency: String """ Price in minor currency units (e.g., cents). """ priceMinor: Int """ Private notes about the artwork. """ privateNotes: String } type UpdateCatalogArtworkPayload { catalogArtworkOrError: UpdateCatalogArtworkResponseOrError clientMutationId: String } union UpdateCatalogArtworkResponseOrError = UpdateCatalogArtworkFailure | UpdateCatalogArtworkSuccess type UpdateCatalogArtworkSuccess { catalogArtwork: CatalogArtwork } type UpdateCatalogEditionSetFailure { mutationError: GravityMutationError } input UpdateCatalogEditionSetInput { """ Availability of the edition set. """ availability: String clientMutationId: String """ The ID of the edition set. """ editionSetID: String! """ Price currency (ISO 4217). """ priceCurrency: String """ Price in minor currency units (e.g., cents). """ priceMinor: Int } type UpdateCatalogEditionSetPayload { catalogEditionSetOrError: UpdateCatalogEditionSetResponseOrError clientMutationId: String } union UpdateCatalogEditionSetResponseOrError = UpdateCatalogEditionSetFailure | UpdateCatalogEditionSetSuccess type UpdateCatalogEditionSetSuccess { catalogEditionSet: CatalogEditionSet } type UpdateCollectionFailure { mutationError: GravityMutationError } union UpdateCollectionResponseOrError = UpdateCollectionFailure | UpdateCollectionSuccess type UpdateCollectionSuccess { collection: Collection } type UpdateCollectorProfileFailure { mutationError: GravityMutationError } input UpdateCollectorProfileInput { """ List of affiliated auction house ids, referencing Galaxy. """ affiliatedAuctionHouseIds: [String] """ List of affiliated fair ids, referencing Galaxy. """ affiliatedFairIds: [String] """ List of affiliated gallery ids, referencing Galaxy. """ affiliatedGalleryIds: [String] clientMutationId: String companyName: String companyWebsite: String """ Collector's Instagram handle """ instagram: String institutionalAffiliations: String intents: [Intents] """ Collector's LinkedIn handle """ linkedIn: String loyaltyApplicant: Boolean professionalBuyer: Boolean """ Since we don't want to ask a collector to update their profile too often, set this to record they've been prompted """ promptedForUpdate: Boolean """ Free-form text of purchases the collector has indicated. """ selfReportedPurchases: String } type UpdateCollectorProfilePayload { clientMutationId: String """ On success: the updated collector profile. """ collectorProfileOrError: updateCollectorProfileResponseOrError } type UpdateCollectorProfileSuccess { collectorProfile: CollectorProfileType } type UpdateCollectorProfileWithIDFailure { mutationError: GravityMutationError } input UpdateCollectorProfileWithIDInput { """ List of affiliated auction house ids, referencing Galaxy. """ affiliatedAuctionHouseIds: [String] """ List of affiliated fair ids, referencing Galaxy. """ affiliatedFairIds: [String] """ List of affiliated gallery ids, referencing Galaxy. """ affiliatedGalleryIds: [String] clientMutationId: String companyName: String companyWebsite: String confirmedBuyer: Boolean """ The internal ID of the collector profile to update """ id: String """ Collector's Instagram handle """ instagram: String institutionalAffiliations: String intents: [Intents] """ Collector's LinkedIn handle """ linkedIn: String loyaltyApplicant: Boolean professionalBuyer: Boolean """ Free-form text of purchases the collector has indicated. """ selfReportedPurchases: String } type UpdateCollectorProfileWithIDPayload { clientMutationId: String """ On success: the collector profile """ collectorProfileOrError: UpdateCollectorProfileWithIDResponseOrError } union UpdateCollectorProfileWithIDResponseOrError = UpdateCollectorProfileWithIDFailure | UpdateCollectorProfileWithIDSuccess type UpdateCollectorProfileWithIDSuccess { collectorProfile: CollectorProfileType } type UpdateConversationMessageTemplateFailure { mutationError: GravityMutationError } input UpdateConversationMessageTemplateInput { """ The body of the template """ body: String clientMutationId: String """ Optional description of the template """ description: String """ The ID of the template to update """ id: String! """ The title of the template """ title: String } type UpdateConversationMessageTemplatePayload { clientMutationId: String responseOrError: UpdateConversationMessageTemplateResponseOrError } union UpdateConversationMessageTemplateResponseOrError = UpdateConversationMessageTemplateFailure | UpdateConversationMessageTemplateSuccess type UpdateConversationMessageTemplateSuccess { conversationMessageTemplate: ConversationMessageTemplate partner: Partner! } input UpdateConversationMutationInput { clientMutationId: String """ The id of the conversation to be updated. """ conversationId: String! """ Mark the conversation as dismissed """ dismissed: Boolean """ The message id to mark as read as a collector (from). """ fromLastViewedMessageId: String """ The seller outcome for the conversation. Options include `already_contacted`, `dont_trust`, `other`, `work_unavailable`. """ sellerOutcome: String """ The seller outcome comment for the conversation. """ sellerOutcomeComment: String """ The message id to mark as read as a partner (to). """ toLastViewedMessageId: String } type UpdateConversationMutationPayload { clientMutationId: String conversation: Conversation } type UpdateFeatureFailure { mutationError: GravityMutationError } input UpdateFeatureMutationInput { active: Boolean callout: String clientMutationId: String description: String id: String! layout: FeatureLayouts metaTitle: String name: String sourceBucket: String sourceKey: String subheadline: String videoURL: String } type UpdateFeatureMutationPayload { clientMutationId: String """ On success: the feature updated. """ featureOrError: UpdateFeatureResponseOrError } union UpdateFeatureResponseOrError = UpdateFeatureFailure | UpdateFeatureSuccess type UpdateFeatureSuccess { feature: Feature } type UpdateFeaturedLinkFailure { mutationError: GravityMutationError } input UpdateFeaturedLinkMutationInput { clientMutationId: String description: String href: String id: String! sourceBucket: String sourceKey: String subtitle: String title: String } type UpdateFeaturedLinkMutationPayload { clientMutationId: String """ On success: featured link updated. """ featuredLinkOrError: UpdateFeaturedLinkResponseOrError } union UpdateFeaturedLinkResponseOrError = UpdateFeaturedLinkFailure | UpdateFeaturedLinkSuccess type UpdateFeaturedLinkSuccess { featuredLink: FeaturedLink } input UpdateHeroUnitLinkInput { text: String! url: String! } input UpdateHeroUnitMutationInput { body: String! clientMutationId: String credit: String endAt: String id: String! imageUrl: String label: String link: UpdateHeroUnitLinkInput! position: Int startAt: String title: String! } type UpdateHeroUnitMutationPayload { clientMutationId: String """ On success: the hero unit updated. """ heroUnitOrError: updateHeroUnitResponseOrError } type UpdateInstallShotForPartnerShowFailure { mutationError: GravityMutationError } input UpdateInstallShotForPartnerShowMutationInput { """ The updated caption for the installation shot. """ caption: String! clientMutationId: String """ The ID of the installation shot image to update. """ imageId: String! """ The ID of the show. """ showId: String! } type UpdateInstallShotForPartnerShowMutationPayload { clientMutationId: String """ On success: the show that contains the updated installation shot. On error: the error that occurred. """ showOrError: UpdateInstallShotForPartnerShowResponseOrError } union UpdateInstallShotForPartnerShowResponseOrError = UpdateInstallShotForPartnerShowFailure | UpdateInstallShotForPartnerShowSuccess type UpdateInstallShotForPartnerShowSuccess { show: Show } input UpdateMeCollectionInput { id: String! shareableWithPartners: Boolean! } type UpdateMeCollectionsFailure { mutationError: GravityMutationError } union UpdateMeCollectionsResponseOrError = UpdateMeCollectionsFailure | UpdateMeCollectionsSuccess type UpdateMeCollectionsSuccess { collection: Collection } type UpdateMessageFailure { mutationError: GravityMutationError } input UpdateMessageMutationInput { clientMutationId: String """ The id of the message to be updated. """ id: String! """ Mark the message as spam """ spam: Boolean! } type UpdateMessageMutationPayload { clientMutationId: String """ On success: the updated conversation """ conversationOrError: UpdateMessageResponseOrError } union UpdateMessageResponseOrError = UpdateMessageFailure | UpdateMessageSuccess type UpdateMessageSuccess { conversation: Conversation } input UpdateMyPasswordMutationInput { clientMutationId: String currentPassword: String! newPassword: String! passwordConfirmation: String! } type UpdateMyPasswordMutationPayload { clientMutationId: String me: Me! } input UpdateMyProfileInput { """ Whether the user consents to receiving marketing emails from Artsy. Sets agreed_to_receive_emails_at in Gravity (idempotent; never cleared). """ agreedToReceiveEmails: Boolean """ Number of artworks purchased per year. """ artworksPerYear: String """ The user's bio """ bio: String clientMutationId: String """ The collector level for the user """ collectorLevel: Int """ The user completed onboarding. """ completedOnboarding: Boolean """ Currency preference of the user """ currencyPreference: CurrencyPreference """ The given email of the user. """ email: String """ Gender. """ gender: String """ User's icon source_url for Gemini """ iconUrl: String """ Works in the art industry? """ industry: String """ Collector's Instagram handle """ instagram: String """ Is a collector? """ isCollector: Boolean """ Length unit preference of the user """ lengthUnitPreference: LengthUnitPreference """ Collector's LinkedIn handle """ linkedIn: String """ The given location of the user as structured data """ location: EditableLocation """ The given name of the user. """ name: String """ Additional personal notes. """ notes: String """ Collector's positions with relevant institutions """ otherRelevantPositions: String """ The user's password, required to change email address. """ password: String """ The given phone number of the user. """ phone: String phoneCountryCode: String phoneNumber: String """ The maximum price collector has selected """ priceRangeMax: Float """ The minimum price collector has selected """ priceRangeMin: Int """ Wheter or not the collector shares detailed profile information with galleries. """ privacy: String """ Profession. """ profession: String """ Since we don't want to ask a collector to update their profile too often, set this to record they've been prompted """ promptedForUpdate: Boolean """ This user should receive lot opening notifications """ receiveLotOpeningSoonNotification: Boolean """ This user should receive new sales notifications """ receiveNewSalesNotification: Boolean """ This user should receive new works notifications """ receiveNewWorksNotification: Boolean """ This user should receive order notifications """ receiveOrderNotification: Boolean """ This user should receive outbid notifications """ receiveOutbidNotification: Boolean """ This user should receive partner offer notifications """ receivePartnerOfferNotification: Boolean """ This user should receive partner show notifications """ receivePartnerShowNotification: Boolean """ This user should receive promotional notifications """ receivePromotionNotification: Boolean """ This user should receive purchase notifications """ receivePurchaseNotification: Boolean """ This user should receive sale opening/closing notifications """ receiveSaleOpeningClosingNotification: Boolean """ This user should receive viewing room notifications """ receiveViewingRoomNotification: Boolean """ Shares FollowArtists, FollowGenes, and FollowProfiles with partners. """ shareFollows: Boolean } union UpdateMyProfileMutation = UpdateMyProfileMutationFailure | UpdateMyProfileMutationSuccess type UpdateMyProfileMutationFailure { mutationError: GravityMutationError } type UpdateMyProfileMutationSuccess { user: User } type UpdateMyProfilePayload { clientMutationId: String me: Me user: User userOrError: UpdateMyProfileMutation } type UpdateNavigationItemFailure { mutationError: GravityMutationError! } input UpdateNavigationItemInput { clientMutationId: String """ A relative URL that starts with / """ href: String """ The ID of the navigation item """ id: String! """ The ID of the parent navigation item """ parentID: String """ The position of the navigation item """ position: Int """ The title of the navigation item """ title: String } type UpdateNavigationItemPayload { clientMutationId: String navigationItemOrError: UpdateNavigationItemResponseOrError! } union UpdateNavigationItemResponseOrError = UpdateNavigationItemFailure | UpdateNavigationItemSuccess type UpdateNavigationItemSuccess { navigationItem: NavigationItem! } type UpdateOrderedSetFailure { mutationError: GravityMutationError } input UpdateOrderedSetMutationInput { clientMutationId: String description: String id: String! internalName: String itemId: String """ Modify the OrderedSet's items to only included provided ids. An empty array will remove all items from the set """ itemIds: [String] itemType: String key: String layout: OrderedSetLayouts name: String ownerId: String ownerType: String published: Boolean unsetOwner: Boolean } type UpdateOrderedSetMutationPayload { clientMutationId: String """ On success: the ordered set updated. """ orderedSetOrError: UpdateOrderedSetResponseOrError } union UpdateOrderedSetResponseOrError = UpdateOrderedSetFailure | UpdateOrderedSetSuccess type UpdateOrderedSetSuccess { feature: Feature set: OrderedSet } type UpdatePageFailure { mutationError: GravityMutationError } input UpdatePageMutationInput { clientMutationId: String content: String! id: String! name: String! published: Boolean! } type UpdatePageMutationPayload { clientMutationId: String """ On success: the page updated. """ pageOrError: UpdatePageResponseOrError } union UpdatePageResponseOrError = UpdatePageFailure | UpdatePageSuccess type UpdatePageSuccess { page: Page } type UpdatePartnerArtistDocumentFailure { mutationError: GravityMutationError } input UpdatePartnerArtistDocumentMutationInput { """ The ID of the artist. """ artistId: String! clientMutationId: String """ The ID of the document to update. """ documentId: String! """ The ID of the partner. """ partnerId: String! """ The URL of the document to upload. """ remoteDocumentUrl: String """ The updated title of the document. """ title: String } type UpdatePartnerArtistDocumentMutationPayload { clientMutationId: String """ On success: the updated document. On error: the error that occurred. """ documentOrError: UpdatePartnerArtistDocumentResponseOrError } union UpdatePartnerArtistDocumentResponseOrError = UpdatePartnerArtistDocumentFailure | UpdatePartnerArtistDocumentSuccess type UpdatePartnerArtistDocumentSuccess { document: PartnerDocument partner: Partner } type UpdatePartnerArtistFailure { mutationError: GravityMutationError } input UpdatePartnerArtistMutationInput { """ The partner-provided biography of the artist. """ biography: String clientMutationId: String """ Whether to display the artist on the partner profile page. """ displayOnPartnerProfile: Boolean """ Whether to hide the artist in presentation mode (Folio) for the partner. """ hideInPresentationMode: Boolean """ The ID of the partner artist to update. """ id: String! """ The URL of the image to use for the partner artist. """ remoteImageUrl: String """ Whether the artist is represented by the partner. """ representedBy: Boolean """ Whether to use the default biography for the artist instead of the partner-provided one. """ useDefaultBiography: Boolean } type UpdatePartnerArtistMutationPayload { clientMutationId: String """ On success: the updated partner artist. On error: the error that occurred. """ partnerArtistOrError: UpdatePartnerArtistResponseOrError } union UpdatePartnerArtistResponseOrError = UpdatePartnerArtistFailure | UpdatePartnerArtistSuccess type UpdatePartnerArtistSuccess { partner: Partner partnerArtist: PartnerArtist } type UpdatePartnerContactFailure { mutationError: GravityMutationError } input UpdatePartnerContactInput { """ If true, send all user inquiries and order notifications to this contact. """ canContact: Boolean clientMutationId: String """ ID of the contact to update """ contactId: String! """ Email address of the contact """ email: String """ ID of the contact's partner location """ locationId: String """ Contact's name """ name: String """ ID of the partner """ partnerId: String! """ Phone number of the contact """ phone: String """ Contact's position at the partner """ position: String } union UpdatePartnerContactOrError = UpdatePartnerContactFailure | UpdatePartnerContactSuccess type UpdatePartnerContactPayload { clientMutationId: String partnerContactOrError: UpdatePartnerContactOrError } type UpdatePartnerContactSuccess { partnerContact: Contact } type UpdatePartnerFailure { mutationError: GravityMutationError } type UpdatePartnerFlagsFailure { mutationError: GravityMutationError } input UpdatePartnerFlagsMutationInput { """ The default currency to use for artworks. If null, the flag will be unset. """ artworksDefaultCurrency: String """ The default metric system to use for artworks. If null, the flag will be unset. """ artworksDefaultMetric: String """ The default partner location ID to use for artworks. If null, the flag will be unset. """ artworksDefaultPartnerLocationId: String """ The default weight metric system to use for artworks. If null, the flag will be unset. """ artworksDefaultWeightMetric: String clientMutationId: String """ Whether auto-sync of variable fields to marketplaces is enabled. If null, the flag will be unset. """ distributionSyncEnabled: Boolean """ Whether the partner has accepted the GDPR DPA. The server will record the acceptance timestamp. """ gdprDpaAccepted: Boolean """ The id of the partner to update. """ id: String! """ Controls whether the partner has enabled the inquire availability price display. If null, the flag will be unset. """ inquireAvailabilityPriceDisplayEnabledByPartner: Boolean } type UpdatePartnerFlagsMutationPayload { clientMutationId: String """ On success: the updated partner. On error: the error that occurred. """ partnerOrError: UpdatePartnerFlagsResponseOrError } union UpdatePartnerFlagsResponseOrError = UpdatePartnerFlagsFailure | UpdatePartnerFlagsSuccess type UpdatePartnerFlagsSuccess { partner: Partner } type UpdatePartnerListArtworkPositionFailure { mutationError: GravityMutationError } input UpdatePartnerListArtworkPositionMutationInput { """ The ID of the artwork. """ artworkId: String! clientMutationId: String """ The ID of the partner list. """ listId: String! """ The new position of the artwork. """ position: Int! } type UpdatePartnerListArtworkPositionMutationPayload { clientMutationId: String """ On success: the updated partner list. On error: the error that occurred. """ partnerListOrError: UpdatePartnerListArtworkPositionResponseOrError } union UpdatePartnerListArtworkPositionResponseOrError = UpdatePartnerListArtworkPositionFailure | UpdatePartnerListArtworkPositionSuccess type UpdatePartnerListArtworkPositionSuccess { partnerList: PartnerList } type UpdatePartnerListFailure { mutationError: GravityMutationError } input UpdatePartnerListMutationInput { clientMutationId: String """ End date for the list. """ endAt: String """ The ID of the fair to associate with this list. """ fairID: String """ The ID of the partner list. """ id: String! """ The type of list (show, fair, private_viewing_room, or other). """ listType: PartnerListTypeEnum """ The name of the list. """ name: String """ Start date for the list. """ startAt: String } type UpdatePartnerListMutationPayload { clientMutationId: String """ On success: the updated partner list. On error: the error that occurred. """ partnerListOrError: UpdatePartnerListResponseOrError } union UpdatePartnerListResponseOrError = UpdatePartnerListFailure | UpdatePartnerListSuccess type UpdatePartnerListSuccess { partnerList: PartnerList } type UpdatePartnerLocationFailure { mutationError: GravityMutationError } input UpdatePartnerLocationInput { address: String address2: String addressType: String city: String clientMutationId: String country: String """ Primary email of given location """ email: String """ ID of the location to update """ locationId: String! """ ID of the partner """ partnerId: String! """ Primary phone of given location """ phone: String postalCode: String """ Boolean flag that denotes whether a location is publicly viewable on Partner's Artsy Profile """ publiclyViewable: Boolean state: String } union UpdatePartnerLocationOrError = UpdatePartnerLocationFailure | UpdatePartnerLocationSuccess type UpdatePartnerLocationPayload { clientMutationId: String partnerLocationOrError: UpdatePartnerLocationOrError } type UpdatePartnerLocationSuccess { location: Location } input UpdatePartnerMutationInput { """ Admin assigned for this partner. """ adminId: String """ Alternate names or synonyms for this partner. """ alternateNames: [String] """ Time frame for partner analytics page. """ analyticsPageTimeFrame: AnalyticsQueryPeriodEnum """ Whether to charge sales tax on ecommerce orders. """ artsyCollectsSalesTax: Boolean clientMutationId: String """ Partner could opt their works to buy now / make offer and accept payments using their merchant account. """ commerceEnabled: Boolean """ Commission paid by non-subscriber/fair partner. """ commissionRate: Float """ Contract type. """ contractType: String """ Include in Criteo artwork report. """ criteoEligible: Boolean """ Whether the partner is directly contactable. """ directlyContactable: Boolean """ Controls artists tab presence on gpp. Artists tab is hidden for Institutional partners and present for the rest of partners. """ displayArtistsSection: Boolean """ The display name of the partner. """ displayName: String """ Controls whether the works section is displayed. """ displayWorksSection: Boolean """ Distinguish artists the partner represents on their profile page. """ distinguishRepresentedArtists: Boolean """ The email of the partner. """ email: String """ Whether the partner should have access to ACH payment method on subscriptions. """ enableAchPaymentMethod: Boolean """ Triggers partner on platform transaction notifications. """ enforceOnPlatformTransactions: Boolean """ Suggested filters for associated artworks. """ featuredKeywords: [String] """ The given name of the partner. """ givenName: String """ Profile completeness. """ hasFullProfile: Boolean """ Whether this partner has limited Folio access. """ hasLimitedFolioAccess: Boolean """ The id of the partner to update. """ id: String! """ Partner can have artworks implictly enrolled as 'Make Offer' on the artwork page. """ implicitOfferEnabled: Boolean """ Partner could list artworks for purchasing from inquiry conversations. """ inquiryOrderEnabled: Boolean """ Admin that signed up this partner. """ outreachAdminId: String """ Array of partner slugs to assign to this partner. """ partnerCategories: [String] """ Whether the partner requires pre-qualification. """ preQualify: Boolean """ Artists layout on the profile overview page. """ profileArtistsLayout: String """ Banner display on the profile overview page. """ profileBannerDisplay: String """ Admin that referred this partner and gets the commission. """ referralContactId: String """ The region of the partner. """ region: String """ Size of the partner. """ relativeSize: Int """ Partner is required to configure a merchant account. """ requiresMerchantAccount: Boolean """ The short name of the partner. """ shortName: String """ The sortable name of the partner. """ sortableName: String """ Type of the partner. """ type: String """ Whether the partner's VAT exempt status is approved by Artsy. """ vatExemptApproved: Boolean """ The VAT identification number belonging to this partner. """ vatNumber: String """ Whether the partner is registered, registered_and_exempt, exempt, or ineligible for a VAT identification number. """ vatStatus: String """ Indicates the partner is a trusted seller on Artsy. """ verifiedSeller: Boolean """ The website of the partner. """ website: String """ Indicates the partner is eligible for manual wire transfers. """ wireTransferEnabled: Boolean } type UpdatePartnerMutationPayload { clientMutationId: String """ On success: the updated partner. On error: the error that occurred. """ partnerOrError: UpdatePartnerResponseOrError } type UpdatePartnerProfileImageFailure { mutationError: GravityMutationError } input UpdatePartnerProfileImageInput { clientMutationId: String """ ID of the partner """ partnerId: String! """ S3 bucket containing the image to be uploaded """ remoteImageS3Bucket: String! """ S3 key of the image to be uploaded """ remoteImageS3Key: String! """ Can be of type Cover or Icon """ type: String! } union UpdatePartnerProfileImageOrError = UpdatePartnerProfileImageFailure | UpdatePartnerProfileImageSuccess type UpdatePartnerProfileImagePayload { clientMutationId: String partnerOrError: UpdatePartnerProfileImageOrError } type UpdatePartnerProfileImageSuccess { partner: Partner } union UpdatePartnerResponseOrError = UpdatePartnerFailure | UpdatePartnerSuccess type UpdatePartnerShowDocumentFailure { mutationError: GravityMutationError } input UpdatePartnerShowDocumentMutationInput { clientMutationId: String """ The ID of the document to update. """ documentId: String! """ The ID of the partner. """ partnerId: String! """ The URL of the document to upload. """ remoteDocumentUrl: String """ The ID of the show. """ showId: String! """ The updated title of the document. """ title: String } type UpdatePartnerShowDocumentMutationPayload { clientMutationId: String """ On success: the updated document. On error: the error that occurred. """ documentOrError: UpdatePartnerShowDocumentResponseOrError } union UpdatePartnerShowDocumentResponseOrError = UpdatePartnerShowDocumentFailure | UpdatePartnerShowDocumentSuccess type UpdatePartnerShowDocumentSuccess { document: PartnerDocument show: Show } type UpdatePartnerShowEventFailure { mutationError: GravityMutationError } input UpdatePartnerShowEventMutationInput { clientMutationId: String """ A description of the event. """ description: String """ The end time of the event. """ endAt: String """ The ID of the event to update. """ eventId: String! """ The type of event. """ eventType: String """ The ID of the partner. """ partnerId: String! """ The ID of the show. """ showId: String! """ The start time of the event. """ startAt: String """ The time zone of the event. """ timeZone: String } type UpdatePartnerShowEventMutationPayload { clientMutationId: String """ On success: the updated show event. On error: the error that occurred. """ showEventOrError: UpdatePartnerShowEventResponseOrError } union UpdatePartnerShowEventResponseOrError = UpdatePartnerShowEventFailure | UpdatePartnerShowEventSuccess type UpdatePartnerShowEventSuccess { show: Show showEvent: ShowEventType } type UpdatePartnerShowFailure { mutationError: GravityMutationError } input UpdatePartnerShowFairLocationInput { """ The booth of the show in the fair. """ booth: String """ The floor of the show in the fair """ floor: String """ The hall of the show in the fair """ hall: String """ The pier of the show in the fair """ pier: String """ The room of the show in the fair """ room: String """ The section of the show in the fair """ section: String } input UpdatePartnerShowMutationInput { """ Artist slugs to append to the show. Cannot be combined with artistIds. """ addArtistIds: [String] """ Artist slugs for the show. Replaces all existing artists. Cannot be combined with addArtistIds or removeArtistIds. """ artistIds: [String] clientMutationId: String """ The description of the show. """ description: String """ Should the show be displayed on the partner profile page? """ displayOnPartnerProfile: Boolean """ The end date of the show. Can be set to null for fair booth shows only. """ endAt: String """ The id of the fair to update the show for. """ fairId: String fairLocation: UpdatePartnerShowFairLocationInput """ Is the show featured? """ featured: Boolean """ Is the show a group show? """ group: Boolean """ The location id of the show. """ locationId: String """ The name of the show. """ name: String """ The city of the partner for reference shows. """ partnerCity: String """ The id of the partner. Required for partner-scoped shows, omit for partner-less reference shows. """ partnerId: String """ The press release of the show. """ pressRelease: String """ Artist slugs to remove from the show. Cannot be combined with artistIds. """ removeArtistIds: [String] """ The id of the show to update. """ showId: String! """ The start date of the show. """ startAt: String """ The viewing room ids of the show. """ viewingRoomIds: [String] } type UpdatePartnerShowMutationPayload { clientMutationId: String """ On success: the updated partner show. On error: the error that occurred. """ showOrError: UpdatePartnerShowResponseOrError } union UpdatePartnerShowResponseOrError = UpdatePartnerShowFailure | UpdatePartnerShowSuccess type UpdatePartnerShowSuccess { show: Show } type UpdatePartnerSuccess { partner: Partner } type UpdateProfileFailure { mutationError: GravityMutationError } input UpdateProfileMutationInput { """ Short bio (275 character max). """ bio: String clientMutationId: String """ Full bio (800 character max). """ fullBio: String """ Unique handle. """ handle: String """ The id of the profile to update. """ id: String! """ Private profiles hide certain features for non admins. """ isPrivate: Boolean """ Location. """ location: String """ Website. """ website: String } type UpdateProfileMutationPayload { clientMutationId: String """ On success: the updated profile. On error: the error that occurred. """ profileOrError: UpdateProfileResponseOrError } union UpdateProfileResponseOrError = UpdateProfileFailure | UpdateProfileSuccess type UpdateProfileSuccess { profile: Profile } type UpdatePurchaseFailure { mutationError: GravityMutationError } union UpdatePurchaseResponseOrError = UpdatePurchaseFailure | UpdatePurchaseSuccess type UpdatePurchaseSuccess { purchase: Purchase } type UpdateSaleAgreementFailure { mutationError: GravityMutationError } input UpdateSaleAgreementMutationInput { clientMutationId: String content: String displayEndAt: String displayStartAt: String id: String! published: Boolean saleId: String status: SaleAgreementStatus } type UpdateSaleAgreementMutationPayload { clientMutationId: String """ On success: the saleAgreement updated. """ saleAgreementOrError: UpdateSaleAgreementResponseOrError } union UpdateSaleAgreementResponseOrError = UpdateSaleAgreementFailure | UpdateSaleAgreementSuccess type UpdateSaleAgreementSuccess { saleAgreement: SaleAgreement } type UpdateShippingPresetFailure { mutationError: GravityMutationError } input UpdateShippingPresetMutationInput { clientMutationId: String """ Domestic shipping fee in cents. """ domesticShippingFeeCents: Int """ The type of domestic shipping option. """ domesticType: DomesticType """ The ID of the shipping preset to update. """ id: String! """ International shipping fee in cents. """ internationalShippingFeeCents: Int """ The type of international shipping option. """ internationalType: InternationalType """ The name of the shipping preset. """ name: String """ Whether pickup is available. """ pickupAvailable: Boolean """ Currency of the shipping fee """ priceCurrency: String } type UpdateShippingPresetMutationPayload { clientMutationId: String """ On success: the updated shipping preset. On error: the error that occurred. """ shippingPresetOrError: UpdateShippingPresetResponseOrError } union UpdateShippingPresetResponseOrError = UpdateShippingPresetFailure | UpdateShippingPresetSuccess type UpdateShippingPresetSuccess { shippingPreset: ShippingPreset } input UpdateSmsSecondFactorInput { attributes: SmsSecondFactorAttributes! clientMutationId: String secondFactorID: ID! } type UpdateSmsSecondFactorPayload { clientMutationId: String secondFactorOrErrors: SmsSecondFactorOrErrorsUnion! } """ Autogenerated input type of UpdateSubmissionMutation """ input UpdateSubmissionMutationInput { additionalInfo: String artistID: String attributionClass: ConsignmentAttributionClass authenticityCertificate: Boolean category: ConsignmentSubmissionCategoryAggregation """ A unique identifier for the client performing the mutation. """ clientMutationId: String currency: String depth: String dimensionsMetric: String edition: Boolean editionNumber: String """ Deprecated: Use edition_size_formatted field instead """ editionSize: Int editionSizeFormatted: String externalId: ID height: String id: ID locationAddress: String locationAddress2: String locationCity: String locationCountry: String locationCountryCode: String locationPostalCode: String locationState: String medium: String minimumPriceDollars: Int provenance: String sessionID: String signature: Boolean state: ConsignmentSubmissionStateAggregation title: String userEmail: String userName: String userPhone: String utmMedium: String utmSource: String utmTerm: String width: String year: String } """ Autogenerated return type of UpdateSubmissionMutation """ type UpdateSubmissionMutationPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String consignmentSubmission: ConsignmentSubmission } input UpdateUserAddressInput { attributes: UserAddressAttributes! clientMutationId: String userAddressID: ID! } type UpdateUserAddressPayload { clientMutationId: String me: Me userAddressOrErrors: UserAddressOrErrorsUnion! } input UpdateUserDefaultAddressInput { clientMutationId: String userAddressID: ID! } type UpdateUserDefaultAddressPayload { clientMutationId: String me: Me userAddressOrErrors: UserAddressOrErrorsUnion! } type UpdateUserInterestFailure { mutationError: GravityMutationError } input UpdateUserInterestInput { id: String! private: Boolean } input UpdateUserInterestMutationInput { clientMutationId: String id: String! private: Boolean } type UpdateUserInterestMutationPayload { clientMutationId: String userInterestEdge: UserInterestEdge """ On success: the new state of the UserInterest """ userInterestOrError: UpdateUserInterestResponseOrError } union UpdateUserInterestOrError = UpdateUserInterestsFailure | UserInterest union UpdateUserInterestResponseOrError = UpdateUserInterestFailure | UpdateUserInterestSuccess type UpdateUserInterestSuccess { userInterest: UserInterest } type UpdateUserInterestsFailure { mutationError: GravityMutationError } input UpdateUserInterestsMutationInput { clientMutationId: String userInterests: [UpdateUserInterestInput!]! } type UpdateUserInterestsMutationPayload { clientMutationId: String me: Me! userInterestsOrErrors: [UpdateUserInterestOrError!]! } input UpdateUserMutationInput { clientMutationId: String dataTransferOptOut: Boolean email: String enabled: Boolean id: String! name: String phone: String } type UpdateUserMutationPayload { clientMutationId: String } input UpdateUserSaleProfileMutationInput { addressLine1: String addressLine2: String city: String clientMutationId: String country: String id: String! requireBidderApproval: Boolean state: String zip: String } type UpdateUserSaleProfileMutationPayload { clientMutationId: String } type UpdateVideoFailure { mutationError: GravityMutationError } input UpdateVideoInput { clientMutationId: String description: String """ Video height in pixels """ height: Int """ The ID of the video to update """ id: String! """ URL suitable for embedding in an iframe """ playerUrl: String title: String """ Video width in pixels """ width: Int } type UpdateVideoPayload { clientMutationId: String videoOrError: UpdateVideoResponseOrError } union UpdateVideoResponseOrError = UpdateVideoFailure | UpdateVideoSuccess type UpdateVideoSuccess { video: Video } input UpdateViewingRoomArtworksInput { artworks: [ViewingRoomArtworkInput!]! clientMutationId: String viewingRoomID: String! } type UpdateViewingRoomArtworksPayload { artworkIDs: [String!]! clientMutationId: String } input UpdateViewingRoomInput { attributes: ViewingRoomAttributes! clientMutationId: String image: ARImageInput viewingRoomID: String! } type UpdateViewingRoomPayload { clientMutationId: String viewingRoomOrErrors: ViewingRoomOrErrorsUnion! } input UpdateViewingRoomSubsectionsInput { clientMutationId: String subsections: [ViewingRoomSubsectionInput!]! viewingRoomID: ID! } type UpdateViewingRoomSubsectionsPayload { clientMutationId: String subsections: [ViewingRoomSubsection!]! } input UploadSource { bucket: String key: String } input UploadSources { buckets: [String!] keys: [String!] } type User implements Node { accessiblePropertiesConnection( after: String before: String first: Int last: Int model: UserAccessiblePropertyInput ): UserAccessiblePropertyConnection """ The admin notes associated with the user """ adminNotes: [UserAdminNotes] analytics: AnalyticsUserStats cached: Int collectorProfile: CollectorProfileType createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ Has the user opted out of data transfer. """ dataTransferOptOut: Boolean devices: [Device!]! """ The given email of the user. """ email: String! emailConfirmationSentAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String emailConfirmedAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ If the user is enabled """ enabled: Boolean! follows: UserFollows """ A globally unique ID. """ id: ID! initials(length: Int = 3): String inquiredArtworksConnection( after: String before: String first: Int last: Int ): UserInquiredArtworksConnection interestsConnection( after: String before: String first: Int last: Int ): UserInterestConnection """ A type-specific ID likely used as a database ID. """ internalID: ID! """ Has the users identity been verified. """ isIdentityVerified: Boolean! lastSignInAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ The given location of the user as structured data """ location: Location myCollectionArtworksConnection( after: String before: String first: Int last: Int ): ArtworkConnection """ The given name of the user. """ name: String! """ The paddle number of the user """ paddleNumber: String """ The Partner or Profile access granted to the user """ partnerAccess: [String]! """ The given phone number of the user. """ phone: String """ Pin for bidding at an auction """ pin: String """ The price range the collector has selected """ priceRange: String """ The Partner or Profile access granted to the user """ profileAccess: [String]! purchasedArtworksConnection( after: String before: String first: Int last: Int ): UserPurchasesConnection """ The art quiz of a logged-in user """ quiz: Quiz! """ This user should receive lot opening notifications """ receiveLotOpeningSoonNotification: Boolean """ This user should receive new sales notifications """ receiveNewSalesNotification: Boolean """ This user should receive new works notifications """ receiveNewWorksNotification: Boolean """ This user should receive order notifications """ receiveOrderNotification: Boolean """ This user should receive outbid notifications """ receiveOutbidNotification: Boolean """ This user should receive partner offer notifications """ receivePartnerOfferNotification: Boolean """ This user should receive partner show notifications """ receivePartnerShowNotification: Boolean """ This user should receive promotional notifications """ receivePromotionNotification: Boolean """ This user should receive purchase notifications """ receivePurchaseNotification: Boolean """ This user should receive sale opening/closing notifications """ receiveSaleOpeningClosingNotification: Boolean """ This user should receive viewing room notifications """ receiveViewingRoomNotification: Boolean """ The roles of the user """ roles: [String]! """ The sale profile of the user. """ saleProfile: UserSaleProfile savedArtworksConnection( after: String before: String first: Int last: Int ): ArtworkConnection """ If the user has enabled two-factor authentication on their account """ secondFactorEnabled: Boolean! """ The number of times a user has signed in """ signInCount: Int! """ The unconfirmed email of the user. """ unconfirmedEmail: String """ Check whether a user exists by email address before creating an account. """ userAlreadyExists: Boolean } union UserAccessibleProperty = Artist | Artwork | Partner | Profile """ A connection to a list of items. """ type UserAccessiblePropertyConnection { """ A list of edges. """ edges: [UserAccessiblePropertyEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type UserAccessiblePropertyEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: UserAccessibleProperty } enum UserAccessiblePropertyInput { ARTIST ARTWORK PARTNER PROFILE } """ User saved address """ type UserAddress { """ Address line 1 """ addressLine1: String! """ Address line 2 """ addressLine2: String """ Address line 3 """ addressLine3: String """ City """ city: String! """ Country """ country: String! """ A globally unique ID. """ id: ID! """ A type-specific ID. """ internalID: ID! """ Is default address """ isDefault: Boolean! """ Name on address """ name: String """ Phone number """ phoneNumber: String """ Phone number country code """ phoneNumberCountryCode: String """ Phone number with parsing and validation details """ phoneNumberParsed: PhoneNumberType """ Postal Code """ postalCode: String """ Region """ region: String } """ Shipping address input attributes """ input UserAddressAttributes { """ Address line 1 """ addressLine1: String! """ Address line 2 """ addressLine2: String """ Address line 3 """ addressLine3: String """ City """ city: String! """ Country """ country: String! """ Name """ name: String! """ Phone number """ phoneNumber: String """ ISO Phone number country code """ phoneNumberCountryCode: String """ Postal code """ postalCode: String """ Region """ region: String } """ A connection to a list of items. """ type UserAddressConnection { """ A list of edges. """ edges: [UserAddressEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type UserAddressEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: UserAddress } """ An address or errors object """ union UserAddressOrErrorsUnion = Errors | UserAddress type UserAdminNotes { """ The body of the admin note """ body: String! createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ The user who created the note """ creator: User """ A globally unique ID. """ id: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! } """ A connection to a list of items. """ type UserConnection { """ A list of edges. """ edges: [UserEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type UserEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: User } type UserFollows { artistsConnection( after: String before: String first: Int last: Int ): ArtistConnection genesConnection( after: String before: String first: Int last: Int ): GeneConnection } type UserIconDeleteFailureType { mutationError: GravityMutationError } type UserIconDeleteSuccessType { icon: Image success: Boolean } union UserIconDeletionMutationType = UserIconDeleteFailureType | UserIconDeleteSuccessType """ A connection to a list of items. """ type UserInquiredArtworksConnection { """ A list of edges. """ edges: [UserInquiredArtworksEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type UserInquiredArtworksEdge { createdAt( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String """ A cursor for use in pagination """ cursor: String! """ A globally unique ID. """ id: ID! """ A type-specific ID. """ internalID: ID! isSentToGallery: Boolean """ The item at the end of the edge """ node: Artwork note: String outcome: String """ This reflects the `title` attribute of the most recent embedded object in `statuses` """ status: String } type UserInterest { body: String category: UserInterestCategory! """ A globally unique ID. """ id: ID! interest: UserInterestInterest! """ A type-specific ID. """ internalID: ID! ownerType: UserInterestOwnerType private: Boolean! } enum UserInterestCategory { COLLECTED_BEFORE INTERESTED_IN_COLLECTING } """ A connection to a list of items. """ type UserInterestConnection { """ A list of edges. """ edges: [UserInterestEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type UserInterestEdge { body: String category: UserInterestCategory! createdByAdmin: Boolean! """ A cursor for use in pagination """ cursor: String! """ A globally unique ID. """ id: ID! """ A type-specific ID. """ internalID: ID! """ The item at the end of the edge """ node: UserInterestInterest ownerType: String private: Boolean! } input UserInterestInput { anonymousSessionId: String """ Optional body for note """ body: String category: UserInterestCategory! interestId: String! interestType: UserInterestInterestType! private: Boolean sessionID: String } union UserInterestInterest = Artist | Gene enum UserInterestInterestType { ARTIST GENE } union UserInterestOrError = CreateUserInterestFailure | UserInterest enum UserInterestOwnerType { COLLECTOR_PROFILE USER_SALE_PROFILE } """ A connection to a list of items. """ type UserPurchasesConnection { """ A list of edges. """ edges: [UserPurchasesEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type UserPurchasesEdge { """ A cursor for use in pagination """ cursor: String! """ A globally unique ID. """ id: ID! """ A type-specific ID. """ internalID: ID! """ The item at the end of the edge """ node: Artwork ownerType: String saleDate( format: String """ A tz database time zone, otherwise falls back to "X-TIMEZONE" header. See http://www.iana.org/time-zones, https://en.wikipedia.org/wiki/List_of_tz_database_time_zones """ timezone: String ): String salePrice: Float source: String } """ Fields corresponding to a given product privilege """ type UserRole { """ unique label for this role """ name: String! } type UserSaleProfile { """ The first line of address for this user. """ addressLine1: String """ The second line of address for this user. """ addressLine2: String """ The alternative email for this user """ alternativeEmail: String """ The birth year for this user """ birthYear: Int """ The buyer status for this user """ buyerStatus: Int """ The city for this user. """ city: String """ The country for this user. """ country: String """ The email for this user """ email: String """ The employer for this user """ employer: String """ The first name for this user """ firstName: String """ The gender for this user """ gender: String """ A globally unique ID. """ id: ID! """ The indusrty for this user """ industry: String """ A type-specific ID likely used as a database ID. """ internalID: ID! """ The job title for this user """ jobTitle: String """ The last name for this user """ lastName: String """ The marital status for this user """ maritalStatus: String """ The name for this user """ name: String """ The prefix for this user """ prefix: String """ The price range for this user """ priceRange: Int """ The profession for this user """ profession: String """ If this user requires manual approval for auction bidding """ requireBidderApproval: Boolean! """ The salary(USD) for this user """ salaryUSD: Int """ The spouse for this user """ spouse: String """ The state for this user. """ state: String """ The zip for this user. """ zip: String } union VanityURLEntityType = Fair | Partner enum VerificationStatuses { NOT_FOUND NOT_PERFORMED VERIFICATION_UNAVAILABLE VERIFIED_NO_CHANGE VERIFIED_WITH_CHANGES } type VerifiedRepresentative implements Node { artist: Artist! """ A globally unique ID. """ id: ID! """ A type-specific ID. """ internalID: ID! partner: Partner! } type VerifyAddressFailureType { mutationError: GravityMutationError } input VerifyAddressInput { addressLine1: String! addressLine2: String city: String clientMutationId: String country: String! postalCode: String! region: String } union VerifyAddressMutationType = VerifyAddressFailureType | VerifyAddressType type VerifyAddressPayload { clientMutationId: String verifyAddressOrError: VerifyAddressMutationType } type VerifyAddressType { addressVerificationId: String! inputAddress: InputAddressFields! suggestedAddresses: [SuggestedAddressFields]! verificationStatus: VerificationStatuses! } type VerifyUser { exists: Boolean! } """ An object containing video metadata """ type Video { """ The aspect ratio of the video (width / height) """ aspectRatio: Float description(format: Format): String """ Only YouTube and Vimeo are supported """ embed(autoPlay: Boolean = false): String """ The height of the video """ height: Int! """ A globally unique ID """ id: ID! """ A database ID for the Gravity Video instance (not available in Artwork context) """ internalID: ID! """ Returns a full-qualified url that can be embedded in an iframe player """ playerUrl: String! """ Title of the video """ title: String! """ The width of the video """ width: Int! } """ A connection to a list of items. """ type VideoConnection { """ A list of edges. """ edges: [VideoEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type VideoEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: Video } enum VideoSorts { CREATED_AT_ASC CREATED_AT_DESC UPDATED_AT_ASC UPDATED_AT_DESC } """ A wildcard used to support complex root queries in Relay """ type Viewer { """ Do not use (only used internally for stitching) """ _do_not_use_conversation( """ The ID of the Conversation """ id: String! ): Conversation """ Do not use (only used internally for stitching) """ _do_not_use_image: Image admin: Admin """ Find an agreement by ID """ agreement( """ The ID of the agreement """ id: ID! ): Agreement ai: AI """ An Article """ article( """ The ID of the Article """ id: String! ): Article """ A list of Articles """ articles( auctionID: String authorID: String channelID: String featured: Boolean "\n Only return articles matching specified ids.\n Accepts list of ids.\n " ids: [String] layout: ArticleLayout limit: Int offset: Int omit: [String!] published: Boolean = true showID: String sort: ArticleSorts ): [Article!]! """ A connection of articles """ articlesConnection( after: String before: String channelId: String featured: Boolean first: Int """ Get only articles with 'standard', 'feature', 'series' or 'video' layouts. """ inEditorialFeed: Boolean last: Int layout: ArticleLayout omit: [String!] page: Int sort: ArticleSorts ): ArticleConnection """ An Artist """ artist( """ The slug or ID of the Artist """ id: String! ): Artist artistSeries(id: ID!): ArtistSeries artistSeriesConnection( after: String artistID: ID artworkID: ID before: String excludeIDs: [ID!] first: Int last: Int ): ArtistSeriesConnection """ A list of Artists """ artists( "\n Only return artists matching specified ids.\n Accepts list of ids.\n " ids: [String] page: Int = 1 size: Int "\n Only return artists matching specified slugs.\n Accepts list of slugs. (e.g. 'andy-warhol', 'banksy')\n " slugs: [String] sort: ArtistSorts ): [Artist] """ A list of artists """ artistsConnection( after: String before: String first: Int "\n Only return artists matching specified ids.\n Accepts list of ids.\n " ids: [String] last: Int letter: String page: Int size: Int "\n Only return artists matching specified slugs.\n Accepts list of slugs (e.g. 'andy-warhol', 'banksy').\n " slugs: [String] sort: ArtistSorts """ If present, will search by term """ term: String ): ArtistConnection artnetImport(id: String!): ArtnetImport """ An Artwork """ artwork( """ The slug or ID of the Artwork """ id: String! ): Artwork """ List of all artwork attribution classes """ artworkAttributionClasses: [AttributionClass] """ Get a single artwork duplicate pair by ID """ artworkDuplicatePair( """ The ID of the artwork duplicate pair """ id: String! ): ArtworkDuplicatePair """ List artwork duplicate pairs for a partner """ artworkDuplicatePairsConnection( after: String before: String """ Filter by detection version """ detectionVersion: String first: Int last: Int """ Filter by whether the pair can be merged (neither artwork is both published and listed on Artsy) """ mergeable: Boolean """ The ID of the partner """ partnerId: String! """ Filter by pair status """ status: ArtworkDuplicatePairStatus ): ArtworkDuplicatePairConnection """ Interpret a natural-language search query into validated artwork filters. """ artworkFilterSuggestions( """ The natural-language search query. """ query: String! ): ArtworkFilterSuggestion artworkImport(id: String!): ArtworkImport """ List of all artwork mediums """ artworkMediums: [ArtworkMedium] """ An artwork result """ artworkResult( """ The slug or ID of the artwork """ id: String! ): ArtworkResult """ A list of Artworks """ artworks( after: String before: String first: Int ids: [String] last: Int respectParamsOrder: Boolean = false ): ArtworkConnection @deprecated( reason: "This is only for use in resolving stitched queries, not for first-class client use!" ) """ A connection of artworks matching an uploaded query image, using a pure vector (neural) image search. """ artworksByImageConnection( after: String before: String first: Int last: Int """ S3 bucket of the uploaded query image. """ s3Bucket: String! """ S3 key of the uploaded query image. """ s3Key: String! ): ArtworkConnection """ Artworks Elastic Search results """ artworksConnection( acquireable: Boolean additionalGeneIDs: [String] after: String aggregationPartnerCities: [String] aggregations: [ArtworkAggregation] artistID: String artistIDs: [String] artistNationalities: [String] artistSeriesID: String artistSeriesIDs: [String] artsyListing: Boolean """ When provided, will only return artworks with these IDs. """ artworkIDs: [String] atAuction: Boolean attributionClass: [String] availability: String before: String categories: [String] """ Filter by certificate of authenticity. Accepted values: gallery, authenticating_body, no. """ certificateOfAuthenticity: String color: String colors: [String] """ Filter by artwork completeness tiers. Accepts multiple values. """ completenessTier: [String] """ When true, will only return artworks carrying the Curators' Pick collector signal. Cannot be combined with `marketingCollectionID`. """ curatorsPick: Boolean dimensionRange: String """ When true, will skip pushing sold works to the back of the list. Useful in a CMS context. """ disableNotForSaleSorting: Boolean excludeArtworkIDs: [String] extraAggregationGeneIDs: [String] first: Int forSale: Boolean """ When true, will only return framed artworks. """ framed: Boolean geneID: String geneIDs: [String] height: String """ Hybrid only: how many candidates the semantic arm retrieves. Higher = wider semantic net. """ hybridNeuralK: Int """ Hybrid only: results each arm contributes to the blend; must be ≥ from + page size. Caps pagination depth. """ hybridPaginationDepth: Int """ Hybrid only: [lexical, neural] balance when blending scores, e.g. [0.5,0.5] equal, [0.3,0.7] favors semantic. """ hybridWeights: [Float!] importSources: [String] includeAllJSON: Boolean includeArtworksByFollowedArtists: Boolean includeMediumFilterInAggregation: Boolean """ Include artworks not listed on Artsy (artsy_listing: false). """ includeNonArtsyListed: Boolean includeUnpublished: Boolean """ When true, will only return artworks carrying the Increased Interest collector signal. """ increasedInterest: Boolean input: FilterArtworksInput inquireableOnly: Boolean keyword: String """ When true, will only return exact keyword match """ keywordMatchExact: Boolean """ When true and a `keyword` search returns no results, retries once with typo tolerance. Ignored with `keywordMatchExact`. """ keywordTypoTolerance: Boolean last: Int locationCities: [String] locationId: String majorPeriods: [String] """ When true, will only return `marketable` works (not nude or provocative). """ marketable: Boolean marketingCollectionID: String materialsTerms: [String] """ A string from the list of allocations, or * to denote all mediums """ medium: String offerable: Boolean page: Int partnerCities: [String] partnerID: ID partnerIDs: [String] partnerListID: String period: String periods: [String] priceRange: String """ When false, will only return unpublished artworks for authorized users. """ published: Boolean saleID: ID showID: String """ When true, will only return signed artworks. """ signed: Boolean size: Int """ Filter results by Artwork sizes """ sizes: [ArtworkSizes] sold: Boolean sort: String tagID: String """ Search strategy. 'hybrid' blends semantic (meaning-based) results into the keyword search. Requires a keyword; team-only. """ variant: String viewingRoomID: ID visibilityLevel: String width: String ): FilterArtworksConnection """ A connection of artworks for a user. """ artworksForUser( after: String """ The ID of the marketing collection to be used for backfill """ backfillMarketingCollectionID: String before: String excludeArtworkIds: [String] = [] excludeDislikedArtworks: Boolean = false first: Int includeBackfill: Boolean! last: Int marketable: Boolean maxWorksPerArtist: Int onlyAtAuction: Boolean = false page: Int userId: String version: String ): ArtworkConnection """ An auction result """ auctionResult( """ The ID or slug of the auction result """ id: String! ): AuctionResult """ If user is logged out; status is `LOGGED_OUT`. If user is logged in; status is `LOGGED_IN`. If user is logged in with invalid authentication (401); 'Promise' resolves to 'Status.Invalid'. All other status codes will resolve to `LOGGED_IN` because we don't know whether or not the authentication is valid (error could be something else). """ authenticationStatus: AuthenticationStatus! """ An Editorial author """ author( """ The slug or ID of the author """ id: String! ): Author authorsConnection( after: String before: String first: Int last: Int page: Int size: Int ): AuthorConnection """ A user's bank account """ bankAccount( """ The ID of the bank account """ id: String! ): BankAccount channel(id: ID!): Channel! """ A list of cities """ cities(featured: Boolean = false): [City!]! """ A city-based entry point for local discovery """ city( """ A point which will be used to locate the nearest local discovery city within a threshold """ near: Near """ A slug for the city, conforming to Gravity's city slug naming conventions """ slug: String ): City collection( """ The ID or slug of the Collection """ id: String! userID: String! ): Collection """ A collector profile. """ collectorProfile(userID: String): CollectorProfileType """ A list of collector profiles that have sent an inquiry to a partner """ collectorProfilesConnection( after: String before: String first: Int last: Int partnerID: ID """ Term used for searching collector profiles """ term: String ): CollectorProfileTypeConnection commerceOrders( after: String before: String buyerId: String buyerType: String first: Int impulseConversationId: String last: Int mode: CommerceOrderModeEnum sellerId: String sellerType: String sort: CommerceOrderConnectionSortEnum state: CommerceOrderStateEnum states: [CommerceOrderStateEnum!] ): CommerceOrderConnectionWithTotalCount """ A conversation, usually between a user and a partner """ conversation( """ The ID of the Conversation """ id: String! ): Conversation """ Conversations, usually between a user and partner. """ conversationsConnection( after: String artistId: String artworkId: String before: String conversationType: ConversationType dismissed: Boolean first: Int fromId: String hasMessage: Boolean hasReply: Boolean last: Int partnerId: String toBeReplied: Boolean type: ConversationsInputMode = USER unreadByPartner: Boolean ): ConversationConnection """ A user's credit card """ creditCard( """ The ID of the Credit Card """ id: String! ): CreditCard """ Curated Marketing Collections """ curatedMarketingCollections(size: Int): [MarketingCollection] """ A list of trending artists. Inferred from a manually curated collection of trending artworks. """ curatedTrendingArtists( """ Returns the items in the list that come after the specified cursor. """ after: String """ Returns the items in the list that come before the specified cursor. """ before: String """ Returns the first n items from the list. """ first: Int """ Returns the last n items from the list. """ last: Int ): ArtistConnection departments: [Department!]! discoverArtworks( after: String before: String """ The number of curated artworks to return. """ curatedPicksSize: Int = 2 """ Exclude these artworks from the response """ excludeArtworkIds: [String] first: Int last: Int """ These artworks are used to calculate the taste profile vector. Such artworks are excluded from the response """ likedArtworkIds: [String] limit: Int = 5 """ These fields are used for More Like This query """ mltFields: [String] = ["genes", "materials", "tags", "medium"] """ Weights for the KNN and MLT query """ osWeights: [Float] = [0.6, 0.4] ): ArtworkConnection """ A connection of discovery categories for browsing art """ discoveryCategoriesConnection( after: String before: String first: Int last: Int ): DiscoveryCategoriesConnectionConnection """ Filter artworks by discovery category and specific filter """ discoveryCategoryArtworksConnection( acquireable: Boolean additionalGeneIDs: [String] after: String aggregationPartnerCities: [String] aggregations: [ArtworkAggregation] artistID: String artistIDs: [String] artistNationalities: [String] artistSeriesID: String artistSeriesIDs: [String] artsyListing: Boolean """ When provided, will only return artworks with these IDs. """ artworkIDs: [String] atAuction: Boolean attributionClass: [String] availability: String before: String categories: [String] """ The slug of the discovery category to filter artworks by """ categorySlug: String! """ Filter by certificate of authenticity. Accepted values: gallery, authenticating_body, no. """ certificateOfAuthenticity: String color: String colors: [String] """ Filter by artwork completeness tiers. Accepts multiple values. """ completenessTier: [String] """ When true, will only return artworks carrying the Curators' Pick collector signal. Cannot be combined with `marketingCollectionID`. """ curatorsPick: Boolean dimensionRange: String """ When true, will skip pushing sold works to the back of the list. Useful in a CMS context. """ disableNotForSaleSorting: Boolean excludeArtworkIDs: [String] extraAggregationGeneIDs: [String] """ The slug of the specific filter within the category to apply """ filterSlug: String! first: Int forSale: Boolean """ When true, will only return framed artworks. """ framed: Boolean geneID: String geneIDs: [String] height: String """ Hybrid only: how many candidates the semantic arm retrieves. Higher = wider semantic net. """ hybridNeuralK: Int """ Hybrid only: results each arm contributes to the blend; must be ≥ from + page size. Caps pagination depth. """ hybridPaginationDepth: Int """ Hybrid only: [lexical, neural] balance when blending scores, e.g. [0.5,0.5] equal, [0.3,0.7] favors semantic. """ hybridWeights: [Float!] importSources: [String] includeAllJSON: Boolean includeArtworksByFollowedArtists: Boolean includeMediumFilterInAggregation: Boolean """ Include artworks not listed on Artsy (artsy_listing: false). """ includeNonArtsyListed: Boolean includeUnpublished: Boolean """ When true, will only return artworks carrying the Increased Interest collector signal. """ increasedInterest: Boolean input: FilterArtworksInput inquireableOnly: Boolean keyword: String """ When true, will only return exact keyword match """ keywordMatchExact: Boolean """ When true and a `keyword` search returns no results, retries once with typo tolerance. Ignored with `keywordMatchExact`. """ keywordTypoTolerance: Boolean last: Int locationCities: [String] locationId: String majorPeriods: [String] """ When true, will only return `marketable` works (not nude or provocative). """ marketable: Boolean marketingCollectionID: String materialsTerms: [String] """ A string from the list of allocations, or * to denote all mediums """ medium: String offerable: Boolean page: Int partnerCities: [String] partnerID: ID partnerIDs: [String] partnerListID: String period: String periods: [String] priceRange: String """ When false, will only return unpublished artworks for authorized users. """ published: Boolean saleID: ID showID: String """ When true, will only return signed artworks. """ signed: Boolean size: Int """ Filter results by Artwork sizes """ sizes: [ArtworkSizes] sold: Boolean sort: String tagID: String """ Search strategy. 'hybrid' blends semantic (meaning-based) results into the keyword search. Requires a keyword; team-only. """ variant: String viewingRoomID: ID visibilityLevel: String width: String ): FilterArtworksConnection """ A single discovery category for browsing art by slug """ discoveryCategoryConnection( """ The slug of the discovery category to retrieve """ slug: String! ): DiscoveryCategoryUnion """ Discovery Marketing Collections for personalized recommendations """ discoveryMarketingCollections( after: String before: String first: Int last: Int size: Int = 12 ): [MarketingCollection!] """ A namespace external partners (provided by Galaxy) """ external: External! """ A Fair """ fair( """ The slug or ID of the Fair """ id: String! ): Fair """ A fair organizer, e.g. The Armory Show """ fairOrganizer( """ The slug or ID of the Fair organizer """ id: String! ): FairOrganizer """ A list of Fairs """ fairs( fairOrganizerID: String hasFullFeature: Boolean hasHomepageSection: Boolean hasListing: Boolean "\n Only return fairs matching specified ids.\n Accepts list of ids.\n " ids: [String] near: Near page: Int size: Int sort: FairSorts status: EventStatus ): [Fair] """ A list of fairs """ fairsConnection( after: String before: String fairOrganizerID: String first: Int hasFullFeature: Boolean hasHomepageSection: Boolean hasListing: Boolean """ Only return fairs matching specified IDs. Accepts list of IDs. """ ids: [String] last: Int near: Near sort: FairSorts status: EventStatus """ Search term to match against fair names for authenticated users """ term: String ): FairConnection """ A Feature """ feature( """ The slug or ID of the Feature """ id: ID ): Feature """ A list of currently running featured fairs, backfilled with past fairs. Fairs are sorted by start date in descending order. """ featuredFairs(includeBackfill: Boolean = true, size: Int): [Fair] featuredLinksConnection( after: String before: String first: Int last: Int """ If present, will search by term """ term: String ): FeaturedLinkConnection featuresConnection( after: String before: String first: Int last: Int sort: FeatureSorts """ If present, will search by term """ term: String ): FeatureConnection """ Partners Elastic Search results """ filterPartners( aggregations: [PartnersAggregation]! defaultProfilePublic: Boolean eligibleForCarousel: Boolean """ Indicates an active subscription """ eligibleForListing: Boolean """ Indicates tier 1/2 for gallery, 1 for institution """ eligibleForPrimaryBucket: Boolean """ Indicates tier 3/4 for gallery, 2 for institution """ eligibleForSecondaryBucket: Boolean """ Exclude partners the user follows (only effective when `include_partners_with_followed_artists` is set to true). """ excludeFollowedPartners: Boolean hasFullProfile: Boolean ids: [String] """ If true, will only return partners that are located near the user's location based on the IP address. """ includePartnersNearIpBasedLocation: Boolean = false """ If true, will only return partners that list artists that the user follows """ includePartnersWithFollowedArtists: Boolean """ Max distance to use when geo-locating partners, defaults to 75km. """ maxDistance: Int """ Coordinates to find partners closest to """ near: String page: Int "\n Only return partners of the specified partner categories.\n Accepts list of slugs.\n " partnerCategories: [String] size: Int sort: PartnersSortType """ term used for searching Partners """ term: String type: [PartnerClassification] ): FilterPartners gene( """ The slug or ID of the Gene """ id: String! ): Gene """ A list of Gene Families """ geneFamiliesConnection( after: String before: String first: Int last: Int ): GeneFamilyConnection """ A list of Genes """ genes( size: Int "\n Only return genes matching specified slugs.\n Accepts list of slugs.\n " slugs: [String] ): [Gene] """ A Hero Unit. """ heroUnit( """ The ID of the Hero Unit """ id: String! ): HeroUnit heroUnitsConnection( after: String before: String first: Int last: Int """ If true will include inactive hero units. """ private: Boolean = false """ If present will search by term. """ term: String ): HeroUnitConnection highlights: Highlights """ Home screen content """ homePage: HomePage """ Home view content """ homeView: HomeView! """ An identity verification that the user has access to """ identityVerification( """ ID of the IdentityVerification """ id: String! ): IdentityVerification """ A connection of identity verifications. """ identityVerificationsConnection( after: String before: String email: String first: Int last: Int name: String page: Int size: Int userId: String ): IdentityVerificationConnection """ An Instagram post by ID """ instagramPost( """ The internal ID of the Instagram post """ id: String! ): InstagramPost """ A connection of Instagram posts for a partner """ instagramPostsConnection( after: String before: String first: Int last: Int """ The partner ID to filter posts by """ partnerId: String! ): InstagramPostConnection invoice(token: String!): Invoice job(id: ID!): Job! jobs: [Job!]! """ A Mailchimp campaign by ID """ mailchimpCampaign( """ The internal ID of the campaign """ id: String! ): MailchimpCampaign """ A connection of Mailchimp campaigns for a partner """ mailchimpCampaignsConnection( after: String before: String first: Int last: Int """ The partner ID to filter campaigns by """ partnerId: String! """ Filter campaigns by status """ status: MailchimpCampaignStatus ): MailchimpCampaignConnection markdown(content: String!): MarkdownContent """ Marketing Categories """ marketingCategories: [MarketingCollectionCategory!]! """ Marketing Collection """ marketingCollection( """ The slug or ID of the Marketing Collection """ slug: String! ): MarketingCollection """ A list of MarketingCollections """ marketingCollections( after: String artistID: String before: String category: String categorySlug: String first: Int isFeaturedArtistContent: Boolean last: Int size: Int slugs: [String] sort: MarketingCollectionsSorts ): [MarketingCollection!]! """ A Search for Artists """ matchArtist( """ Exclude these MongoDB ids from results """ excludeIDs: [String] """ Page to retrieve. Default: 1. """ page: Int """ Maximum number of items to retrieve. Default: 5. """ size: Int """ Your search term """ term: String! ): [Artist] matchConnection( after: String before: String """ ARTIST_SERIES, CITY, COLLECTION, and VIEWING_ROOM are not yet supported """ entities: [SearchEntity!] = [ ARTIST ARTIST_SERIES ARTWORK ARTICLE CITY COLLECTION FAIR FEATURE GALLERY GENE INSTITUTION PAGE PROFILE SALE SHOW TAG VIDEO VIEWING_ROOM ] first: Int last: Int """ Mode of search to execute """ mode: SearchMode = SITE page: Int = 1 size: Int = 10 term: String! ): MatchConnection """ A Search for Artists """ matchPartner( """ Your search term """ query: String! ): [Partner] me: Me """ A paginated list of changes recorded for a trackable model. """ modelChangesConnection( after: String before: String first: Int last: Int """ The ID of the trackable record. """ trackableId: String! """ The type of the trackable record. """ trackableType: ModelChangeTrackableType! ): ModelChangeConnection navigationGroup( """ The ID of the navigation group """ id: String! ): NavigationGroup! navigationGroups: [NavigationGroup!]! """ A snapshot of the server-driven navigation structure (e.g., What's New -> By Price -> Art under $500, etc.). Fetch by groupID + state for public/cached access, or by id for admin-specific lookups. """ navigationVersion( """ The ID of the navigation group (e.g., 'whats-new'). Used with state for public UI lookups with heavy caching (LIVE) or admin preview (DRAFT). """ groupID: String """ The internal ID of a specific navigation version. For admin UI use only, always uses authenticated loader. """ id: String """ The state of the version (LIVE or DRAFT). LIVE uses unauthenticated/cached loader, DRAFT uses authenticated/uncached loader for admin preview. """ state: NavigationVersionState = LIVE ): NavigationVersion """ Fetches an object given its globally unique ID. """ node( """ The globally unique ID of the node. """ id: ID! ): Node """ User's notification preferences """ notificationPreferences( authenticationToken: String ): [NotificationPreference!]! """ A feed of notifications """ notificationsConnection( after: String before: String first: Int last: Int """ Notification types to return """ notificationTypes: [NotificationTypesEnum] ): NotificationConnection """ An OrderedSet """ orderedSet( """ The ID of the OrderedSet """ id: String! ): OrderedSet """ A collection of OrderedSets """ orderedSets( """ Key to the OrderedSet or group of OrderedSets """ key: String! public: Boolean = true ): [OrderedSet] """ A connection of Ordered Sets """ orderedSetsConnection( after: String before: String first: Int last: Int """ If present, will search by term """ term: String ): OrderedSetConnection page(id: ID!): Page! pagesConnection( after: String before: String first: Int last: Int """ If present, will search by term """ term: String ): PageConnection """ A Partner """ partner( """ The slug or ID of the Partner """ id: String! ): Partner """ Retrieve all partner documents for a given partner """ partnerArtistDocumentsConnection( after: String """ The slug or ID of the Artist """ artistID: String! before: String first: Int last: Int page: Int """ The slug or ID of the Partner """ partnerID: String! size: Int ): PartnerArtistDocumentConnection @deprecated(reason: "Prefer `partner.documentsConnection`") """ A list of Artworks for a partner """ partnerArtworks( after: String before: String first: Int last: Int partnerID: String! private: Boolean viewingRoomID: String ): ArtworkConnection @deprecated( reason: "This is only for use in resolving stitched queries, not for first-class client use." ) """ A list of PartnerCategories """ partnerCategories( categoryType: PartnerCategoryType """ Filter by whether category is internal """ internal: Boolean = false size: Int ): [PartnerCategory] """ A PartnerCategory """ partnerCategory( """ The slug or ID of the PartnerCategory """ id: String! ): PartnerCategory """ Retrieve all partner show documents for a given partner and show """ partnerShowDocumentsConnection( after: String before: String first: Int last: Int page: Int """ The slug or ID of the Partner """ partnerID: String! """ The slug or ID of the Show """ showID: String! size: Int ): PartnerShowDocumentConnection @deprecated(reason: "Prefer `partner.documentsConnection`") """ A list of Partners """ partnersConnection( after: String before: String defaultProfilePublic: Boolean """ Indicates an active subscription """ eligibleForListing: Boolean """ Exclude partners the user follows (only effective when `include_partners_with_followed_artists` is set to true). """ excludeFollowedPartners: Boolean first: Int ids: [String] """ If true, will only return partners that are located near the user's location based on the IP address. """ includePartnersNearIpBasedLocation: Boolean = false """ If true, will only return partners that list artists that the user follows """ includePartnersWithFollowedArtists: Boolean last: Int """ Max distance to use when geo-locating partners, defaults to 75km. """ maxDistance: Int """ Coordinates to find partners closest to """ near: String "\n Only return partners of the specified partner categories.\n Accepts list of slugs.\n " partnerCategories: [String] sort: PartnersSortType type: [PartnerClassification] ): PartnerConnection """ Phone number information """ phoneNumber( """ Phone number to parse """ phoneNumber: String! """ Two-letter region code (ISO 3166-1 alpha-2) """ regionCode: String ): PhoneNumberType """ A previewed saved search """ previewSavedSearch( """ The criteria which describe the alert """ attributes: PreviewSavedSearchAttributes ): PreviewSavedSearch """ Find a private viewing room by slug. Returns null for an unknown/unpublished slug. Returns whether a passcode is required; artwork/gallery data is omitted until authenticated via the authenticatePrivateViewingRoom mutation. """ privateViewingRoom(slug: String!): PrivateViewingRoom """ A Profile """ profile( """ The slug or ID of the Profile """ id: String! ): Profile """ A list of Profiles """ profilesConnection( after: String before: String first: Int ids: [String] last: Int """ If present, will search by term """ term: String ): ProfileConnection purchase( """ The ID of the purchase """ id: String! ): Purchase """ A list of purchases made by users. """ purchasesConnection( after: String """ The ID or slug of the artist to filter purchases by. """ artistId: String """ The ID or slug of the artwork to filter purchases by. """ artworkId: String before: String first: Int last: Int page: Int """ The ID of the sale to filter purchases by. """ saleId: String size: Int """ The ID of the user to filter purchases by. """ userId: String ): PurchasesConnection """ Static set of recently sold artworks for the SWA landing page """ recentlySoldArtworks( after: String before: String first: Int last: Int ): RecentlySoldArtworkTypeConnection """ A requested location """ requestLocation(ip: String): RequestLocation """ A Sale """ sale( """ The slug or ID of the Sale """ id: String! ): Sale saleAgreement(id: ID!): SaleAgreement! """ The conditions of sale for Artsy or an individual sale. """ saleAgreementsConnection( after: String before: String first: Int last: Int """ if present, will return condition of sales with the input status """ status: SaleAgreementStatus ): SaleAgreementConnection """ A Sale Artwork """ saleArtwork( """ The slug or ID of the SaleArtwork """ id: String! ): SaleArtwork """ Sale Artworks search results """ saleArtworksConnection( after: String """ Please make sure to supply the TOTAL aggregation if you will be setting any aggregations """ aggregations: [SaleArtworkAggregation] artistIDs: [String] before: String biddableSale: Boolean estimateRange: String excludeClosedLots: Boolean first: Int geneIDs: [String] """ When called under the Me field, this defaults to true. Otherwise it defaults to false """ includeArtworksByFollowedArtists: Boolean isAuction: Boolean last: Int liveSale: Boolean marketable: Boolean page: Int saleID: ID """ Same as saleID argument, but matches the argument type of `sale(id: 'foo')` root field """ saleSlug: String size: Int sort: String userId: String ): SaleArtworksConnection """ A list of Sales """ salesConnection( after: String auctionState: AuctionState before: String first: Int "\n Only return sales matching specified ids.\n Accepts list of ids.\n " ids: [String] """ Limit by auction. """ isAuction: Boolean = true last: Int """ Limit by live status. """ live: Boolean = true """ Limit by published status. """ published: Boolean = true """ Returns sales the user has registered for if true, returns sales the user has not registered for if false. """ registered: Boolean sort: SaleSorts """ If present, will search by term """ term: String ): SaleConnection """ Global search """ searchConnection( after: String aggregations: [SearchAggregation] before: String """ Entities to include in search. Default: [ARTIST, ARTWORK]. """ entities: [SearchEntity] first: Int last: Int """ Mode of search to execute. Default: SITE. """ mode: SearchMode """ If present, will be used for pagination instead of cursors. """ page: Int """ Search query to perform. Required. """ query: String! """ Search variant for A/B testing (e.g. 'experiment'). """ variant: String """ Filter by visible_to_public. Only available for authenticated users. Defaults to true if not provided. """ visibleToPublic: Boolean ): SearchableConnection searchDropdown: SearchDropdown! """ A ShippingPreset """ shippingPreset( """ The ID of the ShippingPreset """ id: String! ): ShippingPreset shortcut(id: ID!): Shortcut """ A Show """ show( """ The slug or ID of the Show """ id: String! """ Include shows that are no longer running/active (defaults to false) """ includeAllShows: Boolean = false ): Show """ A list of Shows """ showsConnection( after: String atAFair: Boolean before: String displayable: Boolean = true first: Int hasLocation: Boolean ids: [String] last: Int """ Caps number of shows per partner (may result in uneven page sizes) """ maxPerPartner: Int sort: ShowSorts status: EventStatus """ If present, will search by term """ term: String ): ShowConnection """ Content for a specific page or view """ staticContent( """ The slug or id for the view """ id: String ): StaticContent """ Fields related to internal systems. """ system: System tag( """ The slug or ID of the Tag """ id: String! ): Tag targetSupply: TargetSupply """ Artists and artworks trending on Artsy over a rolling window, ranked by search and view activity. """ trendingSearches(period: TrendingSearchPeriod = ONE_DAY): TrendingSearches user( """ Email to search for user by """ email: String """ ID of the user """ id: String ): User """ A list of Users """ usersConnection( after: String before: String first: Int ids: [String] last: Int """ If present, will search by term, cannot be combined with `ids` """ term: String ): UserConnection """ A Partner or Fair """ vanityURLEntity( """ The slug or ID of the Profile to get a partner or fair for """ id: String! ): VanityURLEntityType """ Verify a given address. """ verifyAddress(input: VerifyAddressInput!): VerifyAddressPayload """ Verify a given user. """ verifyUser( """ Email address to verify. """ email: String! """ Recaptcha token. """ recaptchaToken: String! ): VerifyUser """ Find a video by ID """ video(id: ID!): Video videosConnection( after: String before: String first: Int last: Int sort: VideoSorts = UPDATED_AT_DESC term: String ): VideoConnection """ Find a viewing room by ID """ viewingRoom(id: ID!): ViewingRoom """ (Deprecate) use viewingRoomsConnection """ viewingRooms( after: String before: String featured: Boolean first: Int last: Int partnerID: ID """ (Deprecated) Use statuses """ published: Boolean """ Returns only viewing rooms with these statuses """ statuses: [ViewingRoomStatusEnum!] = [live] ): ViewingRoomConnection @deprecated(reason: "Use viewingRoomsConnection") viewingRoomsConnection( after: String before: String featured: Boolean first: Int ids: [ID!] last: Int partnerID: ID statuses: [ViewingRoomStatusEnum!] = [live] ): ViewingRoomsConnection } type ViewingRoom { artworkIDs: [String!]! artworksConnection( after: String before: String first: Int last: Int ): ArtworkConnection """ Body copy """ body: String distanceToClose(short: Boolean! = false): String distanceToOpen(short: Boolean! = false): String """ Datetime after which the viewing room is no longer viewable """ endAt: String exhibitionPeriod: String """ Datetime when viewing room first viewable """ firstLiveAt: String heroImageURL: String @deprecated(reason: "Use image field instead") href: String image: GravityARImage """ A type-specific ID likely used as a database ID. """ internalID: ID! """ Introductory paragraph """ introStatement: String partner: Partner partnerArtworksConnection( after: String before: String first: Int last: Int ): ArtworkConnection """ ID of the partner associated with this viewing room """ partnerID: String! published: Boolean! pullQuote: String slug: String! """ Datetime when the viewing room is viewable """ startAt: String """ Calculated field to reflect visibility and state of this viewing room """ status: String! subsections: [ViewingRoomSubsection!]! timeZone: String """ Viewing room name """ title: String! viewingRoomArtworks: [ViewingRoomArtwork!]! } type ViewingRoomArtwork { artworkID: ID! """ A type-specific ID likely used as a database ID. """ internalID: ID! published: Boolean! } input ViewingRoomArtworkInput { artworkID: ID! delete: Boolean = false internalID: ID position: Int } input ViewingRoomAttributes { body: String """ Datetime (in UTC) when Viewing Room closes """ endAt: String introStatement: String pullQuote: String """ Datetime (in UTC) when Viewing Room opens """ startAt: String """ Time zone (tz database format, e.g. America/New_York) in which start_at/end_at attributes were input """ timeZone: String """ Title """ title: String } """ A connection to a list of items. """ type ViewingRoomConnection { """ A list of edges. """ edges: [ViewingRoomEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type ViewingRoomEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: ViewingRoom } union ViewingRoomOrErrorsUnion = Errors | ViewingRoom type ViewingRoomPublishedNotificationItem { partner: Partner """ The IDs of the viewing rooms, for use in stitching """ viewingRoomIDs: [String] viewingRoomsConnection( after: String before: String first: Int last: Int ): ViewingRoomsConnection } enum ViewingRoomStatusEnum { closed draft live scheduled } type ViewingRoomSubsection { body: String caption: String image: GravityARImage imageURL: String """ A type-specific ID likely used as a database ID. """ internalID: ID! title: String } input ViewingRoomSubsectionAttributes { body: String caption: String title: String } input ViewingRoomSubsectionInput { attributes: ViewingRoomSubsectionAttributes delete: Boolean = false image: ARImageInput internalID: ID } """ A connection to a list of items. """ type ViewingRoomsConnection { """ A list of edges. """ edges: [ViewingRoomsEdge] pageCursors: PageCursors! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int } """ An edge in a connection. """ type ViewingRoomsEdge { """ A cursor for use in pagination """ cursor: String! """ The item at the end of the edge """ node: ViewingRoom } enum Visibility { LISTED UNLISTED } type WireTransfer { isManualPayment: Boolean! } type YearRange { """ The last year of the year range """ endAt: Int """ The first year of the year range """ startAt: Int } input acceptSellerOfferInput { clientMutationId: String """ Offer id to accept. """ offerID: ID! """ Order id. """ orderID: ID! } type acceptSellerOfferPayload { clientMutationId: String orderOrError: OrderMutationResponse } type addOrderedSetItemFailure { mutationError: GravityMutationError } input addOrderedSetItemMutationInput { clientMutationId: String geminiToken: String id: String! itemId: String! position: Int } type addOrderedSetItemMutationPayload { """ On success: the updated parent set or the set item added. """ addOrderedSetItemResponseOrError: addOrderedSetItemResponseOrError clientMutationId: String } union addOrderedSetItemResponseOrError = addOrderedSetItemFailure | addOrderedSetItemSuccess type addOrderedSetItemSuccess { set: OrderedSet setItem: OrderedSetItem } type addUserRoleFailure { mutationError: GravityMutationError } input addUserRoleMutationInput { clientMutationId: String id: String! role_type: String! } type addUserRoleMutationPayload { clientMutationId: String """ On success: the user """ userOrError: addUserRoleResponseOrError } union addUserRoleResponseOrError = addUserRoleFailure | addUserRoleSuccess type addUserRoleSuccess { user: User } enum addressType { BUSINESS OTHER TEMPORARY } enum contactType { ADMIN PARTNER } input createAlertInput { acquireable: Boolean additionalGeneIDs: [String] artistIDs: [String]! artistSeriesIDs: [String] atAuction: Boolean attributionClass: [String] clientMutationId: String colors: [String] dimensionRange: String height: String inquireableOnly: Boolean keyword: String locationCities: [String] majorPeriods: [String] materialsTerms: [String] offerable: Boolean partnerIDs: [String] priceRange: String settings: AlertSettingsInput sizes: [String] width: String } type createAlertPayload { clientMutationId: String responseOrError: CreateAlertResponseOrError } input createBuyerOfferInput { """ Offer amount in minor units (cents). """ amountMinor: Long! clientMutationId: String """ Optional note for the offer. """ note: String """ Order id. """ orderID: ID! """ Offer id this counteroffer responds to. """ respondsToID: ID } type createBuyerOfferPayload { clientMutationId: String offerOrError: OfferMutationResponse } input createCollectionInput { clientMutationId: String name: String! shareableWithPartners: Boolean } type createCollectionPayload { clientMutationId: String responseOrError: CreateCollectionResponseOrError } union createFeatureResponseOrError = CreateFeatureFailure | CreateFeatureSuccess type createHeroUnitFailure { mutationError: GravityMutationError } union createHeroUnitResponseOrError = createHeroUnitFailure | createHeroUnitSuccess type createHeroUnitSuccess { heroUnit: HeroUnit } type createOrderedSetFailure { mutationError: GravityMutationError } union createOrderedSetResponseOrError = createOrderedSetFailure | createOrderedSetSuccess type createOrderedSetSuccess { set: OrderedSet } type createPartnerOfferFailure { mutationError: GravityMutationError } input createPartnerOfferMutationInput { artwork_id: String! clientMutationId: String discount_percentage: Int! impulse_conversation_id: String note: String user_id: String } type createPartnerOfferMutationPayload { clientMutationId: String """ On success: the partner offer created. """ partnerOfferOrError: createPartnerOfferResponseOrError } union createPartnerOfferResponseOrError = createPartnerOfferFailure | createPartnerOfferSuccess type createPartnerOfferSuccess { partner: Partner partnerOffer: PartnerOffer } input createPurchaseInput { artsyCommission: Float artworkID: String clientMutationId: String discoverAdminID: String email: String fairID: String note: String ownerID: String ownerType: String saleAdminID: String saleDate: String saleID: String """ Sale price in USD. """ salePrice: Float source: String userID: String } type createPurchasePayload { clientMutationId: String responseOrError: CreatePurchaseResponseOrError } type createUserAdminNoteFailure { mutationError: GravityMutationError } input createUserAdminNoteMutationInput { body: String! clientMutationId: String id: String! } type createUserAdminNoteMutationPayload { """ On success: the admin note created. """ adminNoteOrError: createUserAdminNoteResponseOrError clientMutationId: String } union createUserAdminNoteResponseOrError = createUserAdminNoteFailure | createUserAdminNoteSuccess type createUserAdminNoteSuccess { adminNote: UserAdminNotes } type createUserInterestForUserFailure { mutationError: GravityMutationError } union createUserInterestForUserResponseOrError = createUserInterestForUserFailure | createUserInterestForUserSuccess type createUserInterestForUserSuccess { user: User userInterest: UserInterest } input deleteAlertInput { clientMutationId: String id: String! } type deleteAlertPayload { clientMutationId: String responseOrError: DeleteAlertResponseOrError } input deleteCollectionInput { clientMutationId: String id: String! } type deleteCollectionPayload { clientMutationId: String """ On success: the deleted collection """ responseOrError: DeleteCollectionResponseOrError } type deleteHeroUnitFailure { mutationError: GravityMutationError } input deleteHeroUnitMutationInput { clientMutationId: String id: String! } type deleteHeroUnitMutationPayload { clientMutationId: String """ On success: the deleted hero unit. """ heroUnitOrError: deleteHeroUnitResponseOrError } union deleteHeroUnitResponseOrError = deleteHeroUnitFailure | deleteHeroUnitSuccess type deleteHeroUnitSuccess { heroUnit: HeroUnit } type deleteOrderedSetFailure { mutationError: GravityMutationError } type deleteOrderedSetItemFailure { mutationError: GravityMutationError } input deleteOrderedSetItemMutationInput { clientMutationId: String id: String! itemId: String! } type deleteOrderedSetItemMutationPayload { clientMutationId: String """ On success: the updated parent set or the set item deleted. """ deleteOrderedSetItemResponseOrError: deleteOrderedSetItemResponseOrError } union deleteOrderedSetItemResponseOrError = deleteOrderedSetItemFailure | deleteOrderedSetItemSuccess type deleteOrderedSetItemSuccess { set: OrderedSet setItem: OrderedSetItem } input deleteOrderedSetMutationInput { clientMutationId: String id: String! } type deleteOrderedSetMutationPayload { clientMutationId: String """ On success: the deleted ordered set. """ orderedSetOrError: deleteOrderedSetResponseOrError } union deleteOrderedSetResponseOrError = deleteOrderedSetFailure | deleteOrderedSetSuccess type deleteOrderedSetSuccess { set: OrderedSet } input deletePurchaseInput { clientMutationId: String id: String! } type deletePurchasePayload { clientMutationId: String responseOrError: DeletePurchaseResponseOrError } type deleteUserAdminNoteFailure { mutationError: GravityMutationError } input deleteUserAdminNoteMutationInput { adminNoteId: String! clientMutationId: String id: String! } type deleteUserAdminNoteMutationPayload { """ On success: the admin note deleted. """ adminNoteOrError: deleteUserAdminNoteResponseOrError clientMutationId: String } union deleteUserAdminNoteResponseOrError = deleteUserAdminNoteFailure | deleteUserAdminNoteSuccess type deleteUserAdminNoteSuccess { adminNote: UserAdminNotes } type deleteUserInterestForUserFailure { mutationError: GravityMutationError } union deleteUserInterestForUserResponseOrError = deleteUserInterestForUserFailure | deleteUserInterestForUserSuccess type deleteUserInterestForUserSuccess { user: User userInterest: UserInterest } type deleteUserRoleFailure { mutationError: GravityMutationError } input deleteUserRoleMutationInput { clientMutationId: String id: String! role_type: String! } type deleteUserRoleMutationPayload { clientMutationId: String """ On success: the user. """ userOrError: deleteUserRoleResponseOrError } union deleteUserRoleResponseOrError = deleteUserRoleFailure | deleteUserRoleSuccess type deleteUserRoleSuccess { user: User } type dimensions { cm: String in: String } type partnerBiographyBlurb { text: String } type purchases { """ Total number of auction winning bids """ totalAuctionCount: Int! """ Total number of private sales """ totalPrivateSaleCount: Int! } input rejectSellerOfferInput { clientMutationId: String """ Offer id to decline. """ offerID: ID! """ Order id. """ orderID: ID! """ Optional reason for declining the offer. """ rejectReason: String } type rejectSellerOfferPayload { clientMutationId: String orderOrError: OrderMutationResponse } input setOrderFulfillmentOptionInput { clientMutationId: String fulfillmentOption: FulfillmentOptionInput! """ Order id. """ id: ID! } type setOrderFulfillmentOptionPayload { clientMutationId: String orderOrError: OrderMutationResponse } input setOrderPaymentInput { clientMutationId: String """ Credit card wallet type (e.g., Apple Pay, Google Pay). """ creditCardWalletType: OrderCreditCardWalletTypeEnum """ Order id. """ id: ID! """ Payment method. """ paymentMethod: OrderPaymentMethodEnum! """ Saved payment method id (credit card or bank account). """ paymentMethodId: String """ Stripe confirmation token. """ stripeConfirmationToken: String } type setOrderPaymentPayload { clientMutationId: String orderOrError: OrderMutationResponse } enum sort { ASC DESC } input startIdentityVerificationMutationInput { clientMutationId: String """ Primary ID of the identity verification to be started """ identityVerificationId: String! } type startIdentityVerificationMutationPayload { clientMutationId: String startIdentityVerificationResponseOrError: StartIdentityVerificationResponseOrError } input submitBuyerOfferInput { clientMutationId: String """ Offer id to submit. """ offerID: ID! """ Order id. """ orderID: ID! } type submitBuyerOfferPayload { clientMutationId: String offerOrError: OfferMutationResponse } input submitOrderInput { clientMutationId: String """ Stripe confirmation token. """ confirmationToken: String """ Confirmed setup intent ID for offer orders. """ confirmedSetupIntentId: String """ Order id. """ id: ID! """ Offer ID for submitting an offer-order. """ offerID: ID """ Whether the credit card should be one-time use. """ oneTimeUse: Boolean } type submitOrderPayload { clientMutationId: String orderOrError: OrderMutationResponse } input unsetOrderFulfillmentOptionInput { clientMutationId: String """ Order id. """ id: ID! } type unsetOrderFulfillmentOptionPayload { clientMutationId: String orderOrError: OrderMutationResponse } input unsetOrderPaymentMethodInput { clientMutationId: String """ Order id. """ id: ID! } type unsetOrderPaymentMethodPayload { clientMutationId: String orderOrError: OrderMutationResponse } input updateAlertInput { acquireable: Boolean additionalGeneIDs: [String] artistIDs: [String] artistSeriesIDs: [String] atAuction: Boolean attributionClass: [String] clientMutationId: String colors: [String] dimensionRange: String height: String id: String! inquireableOnly: Boolean keyword: String locationCities: [String] majorPeriods: [String] materialsTerms: [String] offerable: Boolean partnerIDs: [String] priceRange: String settings: AlertSettingsInput sizes: [String] width: String } type updateAlertPayload { clientMutationId: String responseOrError: UpdateAlertResponseOrError } type updateArtworkFailure { mutationError: GravityMutationError } union updateArtworkResponseOrError = updateArtworkFailure | updateArtworkSuccess type updateArtworkSuccess { artwork: Artwork } input updateBuyerOfferInput { """ Offer amount in minor units (cents). """ amountMinor: Long clientMutationId: String """ Optional note for the offer. """ note: String """ Offer id. """ offerID: ID! """ Order id. """ orderID: ID! } type updateBuyerOfferPayload { clientMutationId: String offerOrError: OfferMutationResponse } input updateCollectionInput { clientMutationId: String """ The internal ID of the collection """ id: String! name: String private: Boolean shareableWithPartners: Boolean } type updateCollectionPayload { clientMutationId: String responseOrError: UpdateCollectionResponseOrError } union updateCollectorProfileResponseOrError = UpdateCollectorProfileFailure | UpdateCollectorProfileSuccess type updateHeroUnitFailure { mutationError: GravityMutationError } union updateHeroUnitResponseOrError = updateHeroUnitFailure | updateHeroUnitSuccess type updateHeroUnitSuccess { heroUnit: HeroUnit } input updateMeCollectionsMutationInput { attributes: [UpdateMeCollectionInput!]! clientMutationId: String } type updateMeCollectionsMutationPayload { clientMutationId: String meCollectionsOrErrors: [UpdateMeCollectionsResponseOrError!]! } input updateNotificationPreferencesMutationInput { authenticationToken: String clientMutationId: String subscriptionGroups: [NotificationPreferenceInput!]! } type updateNotificationPreferencesMutationPayload { clientMutationId: String """ User's notification preferences """ notificationPreferences( authenticationToken: String ): [NotificationPreference!]! } input updateOrderInput { clientMutationId: String """ Credit card wallet type """ creditCardWalletType: OrderCreditCardWalletTypeEnum @deprecated( reason: "Use setOrderPayment mutation instead for setting payment methods." ) """ Order id. """ id: ID! """ Payment method. """ paymentMethod: OrderPaymentMethodEnum @deprecated( reason: "Use setOrderPayment mutation instead for setting payment methods." ) """ Stripe confirmation token """ stripeConfirmationToken: String @deprecated( reason: "Use setOrderPayment mutation instead for setting payment methods." ) } type updateOrderPayload { clientMutationId: String orderOrError: OrderMutationResponse } input updateOrderShippingAddressInput { """ Buyer's phone number """ buyerPhoneNumber: String """ Buyer's phone number country code """ buyerPhoneNumberCountryCode: String clientMutationId: String """ Order id. """ id: ID! """ Shipping address line 1 """ shippingAddressLine1: String """ Shipping address line 2 """ shippingAddressLine2: String """ Shipping address city """ shippingCity: String """ Shipping address country """ shippingCountry: String """ Shipping address name """ shippingName: String """ Shipping address postal code """ shippingPostalCode: String """ Shipping address state/province/region """ shippingRegion: String } type updateOrderShippingAddressPayload { clientMutationId: String orderOrError: OrderMutationResponse } input updatePurchaseInput { artsyCommission: Float artworkID: String clientMutationId: String discoverAdminID: String email: String fairID: String id: String! note: String ownerID: String ownerType: String saleAdminID: String saleDate: String saleID: String """ Sale price in USD. """ salePrice: Float source: String userID: String } type updatePurchasePayload { clientMutationId: String responseOrError: UpdatePurchaseResponseOrError } input updateQuizMutationInput { artworkId: String! clearInteraction: Boolean clientMutationId: String userId: String! } type updateQuizMutationPayload { clientMutationId: String quiz: Quiz }